Возврат ссылок
Возврат по ссылке приносит пользу, когда определить переменную, к которой требуется привязать ссылку,
нужно через функцию. Возвратом по ссылке не пользуются
для повышения производительности. Ядро PHP само оптимизирует производительность.
Ссылки возвращают только по веским техническим причинам.
Ссылки возвращает следующий синтаксис:
Пример установит значение свойству объекта, ссылку на которое
вернул метод
getValue, а не копии свойства, как было бы без
синтаксиса ссылок.
Замечание:
Передача аргумента по ссылке отличается от возврата по ссылке тем,
что для возврата по ссылке знак &
придётся указать в двух местах — чтобы указать, что требуется возврат ссылки на свойство,
а не копии свойства, и чтобы указать, что переменную $myValue
требуется связать со ссылкой, а не присвоить переменной значение стандартным способом.
Замечание:
Возврат ссылки из функции синтаксисом:
return ($this->value);
не сработает,
поскольку по ссылке возвращается результат выражения, а не переменная.
По ссылке разрешается возвращать только переменные и больше ничего.
Чтобы использовать ссылку, которую вернула функция, потребуется
присвоить ссылку переменной:
Ссылку, которую вернула одна функция, передают в другую функцию,
которая принимает ссылку, следующим синтаксисом:
Замечание:
Обратите внимание, что вызов array_push(&collector(), 'foo');
не сработает, а выдаст фатальную ошибку.