PHP вже робить тему, що записується під час запису, де вона не створює нового значення, поки ви щось не зміните, тому пам'ять не буде збережено за допомогою посилань. Це навіть може возитися з деякими речами, які PHP робить всередині, щоб зменшити використання пам'яті, зробивши все ще гірше.
Додайте до цього той факт, що посилання роблять речі загалом занадто магічними. За замовчуванням, і, отже, те, що очікують більшість людей, є прохідне значення; коли я переходжу $i
до функції, це надзвичайно ускладнює речі, щоб дбати про те, чи таємничо змінюється ця функція $i
на щось інше, і таким чином робити оборонні копії на всякий випадок. (Він уже може змінювати, $i
якщо значення є об'єктом, але, на мою думку, воно не повинно.)
В основному, я знайду лише пропускний посилання, корисний для параметрів "out", тобто змінні, які я очікую, щоб повернутися з функції, а не переходити, a la preg_match
's &$matches
. Навіть для функцій, які чітко модифікують об'єкт, що передається, на кшталт sort
або array_pop
, який відчуває себе трохи прискіпливим ... але це ми застрягли.