PHP уже выполняет функцию копирования при записи, где он не создает новое значение, пока вы что-то не измените, поэтому при использовании ссылок не так много памяти сохраняется. Это может даже испортить некоторые вещи, которые PHP делает внутренне, чтобы уменьшить использование памяти, что делает вещи еще хуже.
Добавьте к этому тот факт, что ссылки делают вещи слишком волшебными в целом. По умолчанию и, следовательно, то, что большинство людей ожидают, это передача по значению; когда я перехожу $iк функции, это очень усложняет задачу: нужно ли заботиться о том, таинственно ли эта функция меняется $iна что-то другое, и, таким образом, делать защитные копии на всякий случай. (Он уже может измениться, $iесли значение является объектом, но, по моему мнению, не должен.)
В принципе, я бы только найти проход по ссылке полезной для «из» параметров, то есть переменный я ожидать , чтобы вернуться из функции , а не переходит в, а - ля preg_match«ы &$matches. Даже для функций, которые явно изменяют передаваемый объект, вроде sortили array_pop, это кажется немного странным ... но это то, с чем мы застряли.