Скриптовый язык PHP. Пользовательские функции

Эти функции разрабатываются самим программистом в процессе написания кода. Синтаксис определения таких функций в общем виде выглядит так:

function имя_функции (аргумент1, аргумент2 и так далее) { операции, выполняемые при вызове функции;}

Имя функции – оригинальный идентификатор, может содержать все буквы латинского алфавита, числа и знак подчеркивания. Нужно следить, чтобы имя вашей функции не совпадало с зарезервированной функцией PHP, иначе программа выведет ошибку. Имя функции, в отличие от имени переменной, нечувствительно к регистру.

Аргументами функции могут являться переменные и/или константы. Это те значения, которые будут использоваться командами в теле функции.

Внутри функции может быть любой верный PHP код, включая функции.

Пример определения функции:

function sum($a, $b){

$c = $a + $b;

echo "$a + $b = $c <br>";

return $c;

}

Конструкция return аргумент заставляет данную функцию возвращать после своего выполнения значение аргумента. Посмотрим пример использования вышеуказанной функции:

$a = sum(12, 5);

echo $a;

Этот код выведет:

12 + 5 = 17

В этом примере переменной $a присвоилось значение, возвращенное функцией sum (т.е. значение $c). Если не указать в определении функции return $c, то пример выше выведет только 12 + 5 = 17.

Нужно учесть, что все переменные внутри функции являются локальными, действующими только в теле функции. Поэтому в примере выше не было ошибкой строка $a = sum(12, 5);, где в функции sum() уже есть своя переменная $a. Эти переменные никак не пересекаются и имеют совершенно разное значение.

Для того, чтобы переменная, определенная внутри функции, действовала вне ее пределов, необходимо указать, что она является глобальной. Это делается следующим образом:

function word ($word){

//функция word() и переменная $word – разные вещи

global $string; //определение $string как глобальной

$string = $word." – отличная вещь!";}

word ("PHP");

echo $string; //выведет "PHP – отличная вещь!"

Как видино, здесь не применяется return, так что функция ничего не возвращает, но переменная $string определена как глобальная, поэтому она действует в пределах всего кода PHP, и в данном случае $string в функции равна $string вне функции.

Функция после своего выполнения теряет все свои значения и при ее новом вызове нельзя использовать данные, полученные при предыдущем выполнении функции.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: