Урок 9: Функции

В предыдущих уроках вы узнали, как использовать функции вроде документацияdate() и документацияarray(). В этом уроке мы научимся создавать собственные функции с помощью документацияfunction.

Что такое функция?

Функция обрабатывает ввод и возвращает вывод. Это необходимо, например, если у вас большой объём данных, или если необходимо многократно выполнять вычисления.

Функция имеет следующий синтаксис:


	Имя Функции(список параметров) {
	   Оператор
	}
	
	

Таким образом, можно создать простейшую функцию, которая прибавляет значение 1 к числу. Выглядит это так:

	function AddOne($x) {
	   $x = $x + 1;
	   echo $x;
	}

	
	

Наша функция называется AddOne и должна вызваться с числом - например, 34 ...

	echo AddOne(34);
	
	

... которое (вот сюрприз!) возвращает 35.

Этот пример работает с числом, но функции могут работать с текстом, датами и др. Можно создавать функции с множеством разных параметров. В этом уроке вы увидите примеры разнообразных функций.

Пример 1: Функция с несколькими параметрами

Как сказано выше, вы можете легко создавать функции, вызываемые с несколькими параметрами. В следующем примере мы создадим функцию, вызываемую с тремя числами, возвращающую значение суммы этих числе:


	<html>
	<head>
	<title>Функции</title>

	</head>
	<body>

	<?php

	function AddAll($number1,$number2,$number3) {
	   $plus = $number1 + $number2 + $number3;
	   return $plus;
	}
	 
	echo "123 + 654 + 9 equals " . AddAll(123,654,9);

	?>

	</body>
	</html>
	
	

Ok. Это тоже почти так же просто! Но важно было показать, что функция может вызываться с несколькими параметрами.

Пример 2: Английские дата и время

Попробуем создать более сложную функцию. Функция, вызываемая с датой и временем, возвращает это в формате: Wednesday, 15 February, 2012, 10:00:00 AM


	<html>
	<head>
	<title>Функции</title>
	</head>
	<body>

	<?php

	function EnglishDateTime($date) {
	 
	  // Массив с английскими названиями дней недели
	  $arrDay = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
	 
	  // Массив с английскими названиями месяцев
	  $arrMonth = array("","January","February","March","April","May","June","July","August","September","October","November","December");
	 
	  // Конструируется дата
	  $EnglishDateTime = $arrDay[(date("w",$date))] . ", " . date("d",$date);
	  $EnglishDateTime = $EnglishDateTime  . " " . $arrMonth[date("n",$date)] . " " . date("Y",$date);
	  $EnglishDateTime = $EnglishDateTime  . ", " . date("H",$date) . ":" . date("i",$date);
	 
	  return $EnglishDateTime;

	}
	 
	// Проверка работы функции
	echo EnglishDateTime(time());

	?>

	</body>
	</html>
	
	

Обратите внимание, как '$arrMonth' и '$EnglishDateTime' конструируются в нескольких строках. Это сделано, чтобы пользователи с низким разрешением экрана могли лучше разглядеть пример. Это не влияет на сам код.

Эта функция работает на всех вэб-серверах, независимо от языка. То есть вы можете видеть работу этой функции, если ваш сайт, например, размещён на французском сервере, но вам нужны английские даты.

Пока мы не углубляемся в работу функций, но уже знаем немного о них.



<< Урок 8: Массивы

Урок 10: Передача данных через URL >>