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