#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
- 834 reads