#4.10 php Функция, возвращающая ссылки
Primary tabs
Помимо передачи аргументов функции по ссылке имеется возможность вернуть ссылку как результат вызова функции. Это может быть необходимо при дальнейшем использовании ссылок в коде программы. Данная технология применяется достаточно редко и требует особой аккуратности. Ссылка указывает на то же место в памяти, которое занимает исходная переменная. Для создания ссылки используется оператор &
:
$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
- Log in to post comments
- 596 reads