Чем ссылки не являются
Вернуться к: Ссылки. Разъяснения
Как уже было сказано, ссылки не являются указателями. Это означает, что следующая конструкция не будет делать то, что вы ожидаете:
<?php
function foo(&$var)
{
$var =& $GLOBALS["baz"];
}
foo($bar);
?>
Переменная $var в функции foo будет связана с $bar в вызывателе, но затем она будет перепривязана к $GLOBALS["baz"]. Нет способа связать $bar в области видимости вызывателя с чем-либо ещё путём использования механизма ссылок, поскольку $bar не доступна в функции foo (доступно лишь её значение через $var, но $var имеет только значение переменной и не имеет связи имя-значение в таблице имен переменных). Вы можете воспользоваться возвращением ссылок из функции для привязки внешней переменной к другому значению.
Вернуться к: Ссылки. Разъяснения