11111

Функции

Пред.

След.

Глава 17. Функции

Содержание

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

Аргументы функции

Возврат значений

Обращение к функциям через переменные

Встроенные функции

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

- Приведем пример синтаксиса, используемого для описания функций:

Пример 17-1. Псевдокод для демонстрации использования функций

<?

function foo($arg_1, $arg_2,/*...,*/ $arg_n)

{

echo "Example function.\n";

return $retval;

}

?>

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

- В PHP 3 функции должны были быть определены прежде, чем они будут использованы. Начиная с PHP4 такого ограничения нет, исключая тот случай, когда функции определяются условно, как это показано в двух последующих примерах.

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

Пример 17-2. Функции, зависящие от условий

<?

$makefoo = true;

/*Мы не можем вызвать функцию foo() в этом месте,

поскольку она еще не определена, но мы можем

обратиться к bar()*/

bar();

if ($makefoo) {

function foo()

{

echo "I don't exist until program execution reaches me.\n";

}}

/*Теперь мы благополучно можем вызывать foo(),

поскольку $makefoo была интерпретирована как true*/

if ($makefoo) foo();

function bar()

{

echo "I exist immediately upon program start.\n";

}

?>

Пример 17-3. Вложенные функции

<?

function foo()

{

function bar()

{

echo "I don't exist until foo() is called.\n";

}}

/*Мы пока не можем обратиться к bar(),

поскольку она еще не определена.*/

foo();

/*Теперь мы можем вызвать функцию bar(),

обработка foo() сделала ее доступной.*/

bar();

?>

- PHP не поддерживает перегрузку функции, также отсутствует возможность переопределить или удалить объявленную ранее функцию.

Замечание: Имена функций регистронезависимы, тем не менее, более предпочтительно вызывать функции так, как они были объявлены.

- PHP 3 не поддерживает переменное количество аргументов функции, хотя поддержка значений по умолчанию для аргументов присутствует (смотрите раздел Значения аргументов по умолчанию). Начиная с 4-й версии PHP поддерживает и то, и другое: смотрите раздел Списки аргументов переменной длины и описания функций func_num_args(), func_get_arg(), и func_get_args() для более детальной информации.

Пред.

Начало

След.

include_once()

Уровень выше

Аргументы функции 22222

Free Web Hosting