PHP: Определение и вызов функции
Функция - это именованный блок кода, в данном случае на языке PHP, который определяется один раз, а затем может вызываться на исполнение сколько угодно раз.
Определение функции выполняется с помощью ключевого слова function за которым указываются следующие компоненты:
- Идентификатор , определяющий имя функции. Он будет использован для создания новой переменной, которой будет присвоена функция. Имена функций следуют тем же правилам, что и именование переменных.
Примечание: имена функций не чувствительны к регистру букв.
- Пара круглых скобок вокруг списка из нуля или более идентификаторов, разделенных запятыми. Эти идентификаторы будут определять имена параметров функции. В теле функции они используются в качестве локальных переменных.
- Пара фигурных скобок с нулем или более инструкций. Эти инструкции составляют тело функции: они выполняются при каждом вызове функции.
Синтаксис определения функции выглядит следующим образом:
function имя_функции([параметры]) { блок кода }
Квадратные скобки ([]
) означают необязательность. Теперь приведем простой пример определения функции:
<?php function hello() { echo "Привет из функции"; } ?>
Для вызова функции используется оператор вызова, представляющий из себя пару круглых скобок. Завершается вызов функции как и все инструкции точкой с запятой (;
):
<?php function hello() { echo "Привет из функции"; } // вызов функции hello(); ?>
При вызове функции исполняются инструкции, расположенные в ее теле.
Функции допускается определять в любом месте программы, это значит, что они не обязательно быть определены до их использования, исключая тот случай, когда функции определяются условно:
<?php $makefunc = true; /* Здесь нельзя вызвать функцию foo(), так как она еще не определена (оператор if еще не сработал). Но мы можем вызвать здесь функцию bar(), так как она уже определена внизу */ bar(); // вызываем так как функция уже определена if ($makefunc) { // функция foo определяется только сейчас function foo() { echo "Я не существую до тех пор, пока выполнение программы меня не достигнет.\n"; } } /* Теперь мы можем вызывать функцию foo(), поскольку $makefoo была интерпретирована как true */ foo(); function bar() { echo "Я существую сразу с начала старта программы.\n"; } ?>
Все функции в PHP имеют глобальную область видимости - они могут быть вызваны вне функции, даже если были определены внутри и наоборот:
<?php function func1() { function func2() { echo "Я не существую пока не будет вызвана func1().\n"; } } /* пока нельзя вызвать func2(), поскольку она еще не определена. */ func1(); /* Теперь можно вызвать функцию func2(), вызов func1() сделал ее доступной. */ func2(); ?>
Чаще всего функции работают с каким-либо переданными ей значениями. Для того, чтобы функции можно было передать некоторые значения, в ней должны быть указаны параметры. Эти параметры по сути являются обычными переменными, которые инициализируются переданными значениями при вызове функции.
С этой темой смотрят: