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 має лише вміст змінної, а не зв'язок "ім'я-значення" у викликаючій таблиці символів). Ви можете використовувати посилання, що повертаються, на змінні-посилання, вибрані функцією.