Повернення посилання функціею
У результаті своєї роботи функція також може повертати посилання на будь-яку змінну. Це може стати в нагоді, якщо потрібно використовувати функцію для того, щоб визначити, якій змінній повинно бути присвоєно посилання. Щоб отримати з функції посилання, потрібно при оголошенні перед її ім'ям написати знак амперсанду (&) і щоразу при виклику функції перед її ім'ям теж писати амперсанд (&). Зазвичай функція повертає посилання на будь-яку глобальну змінну (або її частину - посилання на елемент глобального масиву), посилання на статичну змінну (або її частину) або посилання на один з аргументів, якщо він був також переданий по посиланню.
Приклад. Повернення посилання
<?
$а = 3; $ b = 2;
function & ref ($par) {
global $a, $b;
if ($par% 2 == 0) return $b;
else return $a;
}
$var = & ref (4);
echo $var, "і", $b, "<br>";
// Виведе 2 і 2
$b = 10;
echo $ var, "і", $ b, "<br>";
// Виведе 10 і 10 ?>
При використанні синтаксису посилань на змінну $var нашого прикладу не копіюється значення змінної $b повернутої функцією $ref, а створюється посилання на цю змінну. Тобто тепер змінні $var і $b ідентичні і будуть змінюватися одночасно.