Навигатор

Главная
Новости
Школа реселлера
Биллинг панели
Документация


Добавить в закладки

Google slashdot YahooMyWeb Digg Technorati Delicious Bobrdobr Memori linkstore.ru rumarkz.ru moemesto.ru

Подписаться на rss


Избранное

Веб Хост Менеджер
Руководство по PHP
Теги


Рейтинг блогов

Функции

Table of Contents

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

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

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

<?php
function foo($arg_1$arg_2/* ..., */ $arg_n)
{
    echo 
"Example function.\n";
    return 
$retval;
}
?>

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

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

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

Example#2 Функции, зависящие от условий

<?php

$makefoo 
true;

/* Мы не можем вызвать функцию foo() в этом месте,
   поскольку она еще не определена, но мы можем 
   обратиться к bar() */

bar();

if (
$makefoo) {
  function 
foo()
  {
    echo 
"I don't exist until program execution reaches me.\n";
  }
}

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

if ($makefoofoo();

function 
bar() 
{
  echo 
"I exist immediately upon program start.\n";
}

?>

Example#3 Вложенные функции

<?php
function foo() 
{
  function 
bar() 
  {
    echo 
"I don't exist until foo() is called.\n";
  }
}

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

foo();

/* Теперь мы можем вызвать функцию bar(),
   обработка foo() сделала ее доступной. */

bar();

?>

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

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

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

Добавил Ejena.net в Понедельник, 19 июня 2006 Раздел: PHP.