Возвращение по ссылке используется в тех случаях, когда вы хотите
использовать функцию для выбора переменной, с которой должна быть связана
данная ссылка. При возвращении по ссылке используйте такой синтаксис:
<?php function &find_var($param) { /* ... код ... */ return $found_var; }
$foo =& find_var($bar); $foo->x = 2; ?>
В этом примере устанавливается свойство объекта, возвращённого функцией
find_var, а не его копии, как было бы без использования
ссылок.
Замечание:
В отличие от передачи параметров по ссылке, &
здесь нужно использовать в обоих местах - для указания на то, что вы
возвращаете ссылку, а не копию, как обычно, и для указания того, что
происходит связывание по ссылке, а не обычное присвоение.
Замечание:
Если вы возвращаете ссылку из функции используя следующий синтаксис:
return ($this->value);, это не
будет работать, так как вы возвращаете по ссылке результат
выражения, а не переменную. По ссылке можно
возвращать только переменные, ничего больше. Начиная с PHP 4.4.0 и PHP 5.1.0,
если код пытается вернуть по ссылке динамическое выражение или результат оператора
new, будет выброжено предупреждение E_NOTICE.