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();
?>
Чаще всего функции работают с каким-либо переданными ей значениями. Для того, чтобы функции можно было передать некоторые значения, в ней должны быть указаны параметры. Эти параметры по сути являются обычными переменными, которые инициализируются переданными значениями при вызове функции.
С этой темой смотрят: