#4.10 php Функция, возвращающая ссылки

Помимо передачи аргументов функции по ссылке имеется возможность вернуть ссылку как результат вызова функции. Это может быть необходимо при дальнейшем использовании ссылок в коде программы. Данная технология применяется достаточно редко и требует особой аккуратности. Ссылка указывает на то же место в памяти, которое занимает исходная переменная. Для создания ссылки используется оператор &:

$value = 5;
$ref = &$value;

Теперь $ref является ссылкой на переменную $value. Изменение значения ссылки немедленно отражается на значении исходной переменной. Для описания функции, которая возвращает ссылку как результат своего вызова, также используется символ &. Пусть требуется разработать простейшую функцию, которая просто возвращает ссылку на переданную ей в качестве аргумента переменную. Для этого аргумент тоже следует передавать по ссылке:

function &return_a_reference(&$reference)
{
    return $reference;
}

Следует обратить внимание на то, что символ & в описании функции использован дважды. При вызове функции, возвращающей ссылку, следует также использовать оператор &. Ниже приведен пример, который присваивает переменной $ref ссылку на переменную $value и увеличивает значение ссылки, изменяя этим также и значение исходной переменной:

$value = 5;
echo "Старое значение: ", $value, "\n";
$ref = &return_a_reference($value);
$ref++;
echo "Новое значение: ", $value, "\n";

В результате выполнения этого фрагмента будут отображены следующие строки:

Старое значение: 5
Новое значение: 6

Key Words for FKN + antitotal forum (CS VSU):