Чем Ссылки не Являются
Чем ссылки не являются
Как уже было сказано, ссылки не являются указателями. Это означает, что следующая конструкция не будет делать то, что вы ожидаете:
function foo (&$var) { $var =& $GLOBALS["baz"]; } foo($bar); |
Переменная $var в foo будет связана с $bar в вызывателе, но затем она будет перепривязана к $GLOBALS["baz"]. Нет способа связать $bar в области видимости вызывателя с чем-либо ещё путём использования механизма ссылок, поскольку $bar это не переменная в функции foo (она представлена $var, но $var имеет только содержимое переменной, а не связку name-to-value в вызывающей таблице символов).