Функции > Функции, определяемые пользователем > Правила вызова функции
Закрыть

Правила вызова функции

Функцию можно вызвать после ее определения, т.е. в любой строке программы ниже блока function f_name(){...}.
В PHP3 это было действительно так. Но уже в PHP4 такого требования нет.
Все дело в том, как интерпретатор обрабатывает получаемый код. Единственное исключение составляют функции,
определяемые условно (внутри условных операторов или других функций).
Когда функция определяется таким образом, ее определение должно предшествовать ее вызову.


$make = true;
/* здесь нельзя вызвать Make_event();
потому что она еще не существует, но можно
вызвать Save_info() */

Save_info("Вася","Иванов",
"Я выбрал курс по PHP");

if ($make){
// определение функции Make_event()
function Make_event(){
echo "Хочу изучать Python";
}
}
// теперь можно вызывать Make_event()
Make_event();
// определение функции Save_info
function Save_info($first, $last, $message){
echo "$message";
echo "Имя: ". $first . " ". $last . "";
}
Save_info("Федя","Федоров",
"А я выбрал Lisp");
// Save_info можно вызывать и здесь
?>


Пример 1. Определение функции внутри условного оператора (html, txt)

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


/* нельзя сохранить данные, т.е. вызвать
функцию DataSave() до того, как выполнена
проверка их правильности, т.е. вызвана
функция DataCheck() */

DataCheck();
DataSave();

function DataCheck(){
// проверка правильности данных
function DataSave(){
// сохраняем данные
}
}
?>


Пример 2. Определение функции внутри функции (html, txt)
Не хлебом единым жив человек, а стало быть его должна интересовать не только работа и не только функции PHP. Вот здесь у нас есть Пластиковые окна KALEVA: пластиковые окна. Окна с климат-контролем! Sale. . Вам интересно? Тогда пройдите по ссылке. Если нет, то вот еще рыболовный магазин москва . Быть может, вас это интересует, тогда не упускайте возможность приобщиться!