uznay-chto-hochesh.narod.ru

-сайт для интересующихся людей

Учебник - справочник по PHP.

Здесь Вы найдете что хотели

Меню сайта
Главная
Введение
Справочник языка
Возможности РНР
Функции (справочник)
Расширение РНР 4.0
F.A.Q. частые вопросы
Приложения
Алфавитный указатель
Друзья сайта
сделай сайт сам! пособие по html
изучение html и web-дизайна для новичков
Бесплатная отправка смс на все операторы
Реклама
 
Назад Глава 14. Ссылки. Разъяснения. Вперёд

Передача по ссылке

Вы можете передать переменную в функцию по ссылке, и функция сможет модифицировать свои аргументы. Синтаксис таков:

function foo (&$var)
{
    $var++;
}

$a=5;
foo ($a);
// $a здесь равно 6

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

По ссылке можно передавать:

  • переменные, например, foo($a)

  • оператор new, например, foo(new foobar())

  • ссылку, возвращённую из функции, например:

    function &bar()
    {
        $a = 5;
        return $a;
    }
    foo(bar());

    См. также разъяснения возвращения по ссылке.

Любое другое выражение не должно передаваться по ссылке, так как результат не определён/undefined. Например, следующий передача по ссылке является неправильной:

function bar() // отсутствует &
{
    $a = 5;
    return $a;
}
foo(bar());

foo($a = 5) // выражение, не переменная
foo(5) // константа, не переменная

Это требования для PHP 4.0.4 и позднее.

Назад Оглавление Вперёд
Чем ссылки не являются Вверх Возвращение по ссылке

Хостинг от uCoz