<?php Имя_функции ("значение_для_параметра1", "значение_для_параметра2",...); // пример вызова функции – вызов функции // вычисления факториала приведен выше, // там для вычисления факториала числа 3 // мы писали: fact(3); // где fact – имя вызываемой функции, // а 3 – значение ее параметра с именем $n ?>
Когда можно вызывать функцию? Казалось бы, странный вопрос. Функцию можно вызвать после ее определения, т.е. в любой строке программы ниже блока function f_name(){...}. В PHP3 это было действительно так. Но уже в PHP4 такого требования нет. Все дело в том, как интерпретатор обрабатывает получаемый код. Единственное исключение составляют функции, определяемые условно (внутри условных операторов или других функций). Когда функция определяется таким образом, ее определение должно предшествовать ее вызову.
<? $make = true; /* здесь нельзя вызвать Make_event(); потому что она еще не существует, но можно вызвать Save_info() */
Save_info("Вася","Иванов", "Я выбрал курс по PHP");
if ($make){ // определение функции Make_event() function Make_event(){ echo "<p>Хочу изучать Python<br>"; } } // теперь можно вызывать Make_event() Make_event(); // определение функции Save_info function Save_info($first, $last, $message){ echo "<br>$message<br>"; echo "Имя: ". $first . " ". $last . "<br>"; } Save_info("Федя","Федоров", "А я выбрал Lisp"); // Save_info можно вызывать и здесь ?>
Пример 5.1. Определение функции внутри условного оператора (html, txt)
Если функция однажды определена в программе, то переопределить или удалить ее позже нельзя. Несмотря на то, что имена функций нечувствительны к регистру, лучше вызывать функцию по тому же имени, каким она была задана в определении.
<?php /* нельзя сохранить данные, т.е. вызвать функцию DataSave() до того, как выполнена проверка их правильности, т.е. вызвана функция DataCheck() */
DataCheck(); DataSave();
function DataCheck(){ // проверка правильности данных function DataSave(){ // сохраняем данные } } ?>
Пример 5.2. Определение функции внутри функции (html, txt)
Рассмотрим подробнее аргументы функций, их назначение и использование.