What References Are Not
Оновлено: 09.05.2023
Як було сказано раніше, посилання не є покажчиками. Це означає, що наступна конструкція не буде робити те, що ви очікуєте:
<?php
function foo(&$var)
{
$var =& $GLOBALS["baz"];
}
foo($bar);
?>
Відбувається те, що $var у foo буде зв'язано з $bar у викликаючій функції, але потім перезв'язано з $GLOBALS["baz"]. Зв'язати $bar у викликаючій області видимості з чимось іншим за допомогою механізму посилань неможливо, оскільки $bar недоступний у функції foo (він представлений $var, але $var має лише вміст змінної, а не зв'язок "ім'я-значення" у викликаючій таблиці символів). Ви можете використовувати посилання, що повертаються, на змінні-посилання, вибрані функцією.