вход для админов зарегистрированных чатов Вход для
администраторов
 
логин
пароль
забыли пароль

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

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

<?php
function foo(&$var)
{
    
$var++;
}

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

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

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

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

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

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

    <?php
    function &bar()
    {
        
    $a = 5;
        return
    $a;
    }
    foo(bar());
    ?>

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

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

<?php
function bar() // Операция & отсутствует
{
    
$a = 5;
    return
$a;
}
foo(bar());

foo($a = 5); // Выражение, а не переменная
foo(5); // Константа, а не переменная
?>

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




PHP учебник для администраторов чатов


Немного рекламы:
Купим сайт быстро, интернет студия.