Информационные технологииStfw.Ru 🔍

Ссылки

Синтаксис языка и операторы
🕛 01.11.2006, 13:00
В РНР ссылки - это способ доступа к значению переменной под различными именами. Они отличны от указателей в С, хранящих адрес переменной, в РНР это всего лишь псевдонимы какой-либо переменной.

Ссылки РНР позволяют двум переменным указывать на одно значение. Так, запись: $а =& $b

означает, что теперь и $а и $b указывают на одно значение. Причем $а и $b теперь полностью идентичны, то есть не $а указывает на $b или наоборот, а обе они указывают на одно место хранения значения.

Основные варианты использования ссылок: передача аргументов по ссылке и возвращение ссылок из функций, они представлены в главе «Функции».

Тот же синтаксис используется в функциях, возвращающих ссылки и при использовании оператора new.
$bаг =& new fooclassO: $foo =& find_var ($bar).

He забудьте: для использования ссылок на объекты оператор ссылки (&), должен использоваться как в конструкторе для переменной $this, так и при создании объекта (назначении его переменной), иначе вы получите два различных объекта.

В дополнение к тому, что сказано о ссылках в главе «Функции», отметим, что по ссылке кроме переменных могут передаваться объекты, созданные оператором new (например, foo(new foobarO), и ссылки, возвращаемые другими функциями.

Удаление ссылочной связи производится использованием функции unset().
Ja = 1;
$b =& $а; // создание ссылочной связи
inset ($a); // удаление ссылочной связи
// при этом $b продолжает оставаться
переменной со значением 1

Ссылки можно рассматривать как аналогии жестких файловых связей в системе Unix, тогда действие unseto - аналог команды unlink

Учебник по основам PHP   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉