П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое







Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 98147 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 29068 раз(а).

Учебник HTML.
Просмотров 56195 раз(а).

Руководство по PHP5.
Просмотров 25934 раз(а).

Хостинг через призму DNS.
Просмотров 30464 раз(а).

Подборка текстов стандартных документов.
Просмотров 28973 раз(а).

Учебник PHP - Самоучитель
Просмотров 33695 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 34979 раз(а).

Внешние атаки...
Просмотров 26948 раз(а).

Учебник PHP.
Просмотров 22780 раз(а).

SSI в примерах.
Просмотров 17853 раз(а).



 
 



Учебник РНР
НазадГлава 14. Ссылки. Разъяснения. Вперёд

Что делают ссылки

Ссылки в PHP дают возможность двум переменным ссылаться на одно содержимое.
Если вы:

$a =& $b

это означает, что $a и $b указывают на одну и ту же переменную.

Примечание: $a и $b здесь абсолютно эквивалентны, но это не означает, что $a указывает на $b или наоборот. Это означает, что $a и $b указывают на одно место.

Такой же синтаксис можно использовать в функциях, возвращая ссылки, и в операции new (в PHP 4.0.4 и позднее):

$bar =& new fooclass();
$foo =& find_var ($bar);

Примечание: если не использовать операцию &, это приведёт к копированию объекта. Если вы используете $this в классе, операция проводится над текущим экземпляром этого класса. Присвоение без & копирует экземпляр (например, данный объект), а $this работает с этой копией, что не всегда желательно. Обычно вам нужно иметь один экземпляр для работы, из соображений производительности и использования памяти.

Хотя вы можете использовать операцию @ для скрытия любых ошибок в конструкторе при использовании её как @new, это не сработает в операторе &new. Это ограничение Zend-Машины, нарушение которого приводит к ошибке разборщика.

Второе, что делают ссылки - передают переменные по ссылке. При этом локальная переменная в функции и переменная в области видимости вызывателя ссылаются на одно и то же содержимое. Пример:

function foo (&$var)
{
    $var++;
}

$a=5;
foo ($a);

присвоит $a значение 6. Это происходит, потому что в функции foo переменная $var ссылается на то же содержимое, что и переменная $a. См. также детальное объяснение передачи по ссылке.

Третье, что могут ссылки - возвращают значение по ссылке.


Назад Оглавление Вперёд
Ссылки. Разъяснения. Вверх Чем ссылки не являются


 





Copyright © 2005-2011 Project.Net.Ru