|
|
|
| Пример:
$var=&send_page( $params );
|
| |
|
|
|
|
|
|
|
для: Shorr Kan
(27.10.2005 в 04:19)
| | Возвращение по ссылке (из документации по PHP)
Возвращение по ссылке используется в тех случаях, когда вы хотите использовать функцию для выбора переменной, с которой должна быть связана данная ссылка. При возвращении по ссылке используйте такой синтаксис:
<?php
function &find_var($param)
{
/* ... код ... */
return $found_var;
}
$foo =& find_var($bar);
$foo->x = 2;
?>
|
В этом примере устанавливается свойство объекта, возвращённого функцией find_var, а не его копии, как было бы без использования ссылок.
Замечание: В отличие от передачи параметров по ссылке, & здесь нужно использовать в обоих местах - для указания на то, что вы возвращаете ссылку, а не копию, как обычно, и для указания того, что происходит связывание по ссылке, а не обычное присвоение. | |
|
|
|
|
|
|
|
для: irr
(27.10.2005 в 06:11)
| | Я долго пытался понять. Видимо, недостаточно долго, так как не понял. А если упрощенно, на пальцах?.. | |
|
|
|
|
|
|
|
для: Shorr Kan
(27.10.2005 в 09:28)
| | упрощенно не смогу объяснить, т.к. я связывал только переменные, а у Вас тут функция.
если связывать переменные, то если: $a = &$b, это означает что значение переменной $b не копируется в $a! просто $a становится псевдонимом $b. и если в дальнейшем изменится значение $b, то вместе с ним изменится значение $a.
<?php
$b = 'Hello World!';
$a = &$b;
$b = 'Good bye, World!';
echo $a; // должно вывести Good bye, World!, а не Hello World!
?>
|
| |
|
|
|
|
|
|
|
для: Shorr Kan
(27.10.2005 в 09:28)
| | Обычно при передачи используется копия объекта
<?php
function change($num)
{
$num = 45;
}
$num = 3;
change($num);
echo $num; // Выведит 3, так как функции пошла копия
?>
|
& - позволяет передать объект по ссылке, т.е. не копию, а сам объект
<?php
function change(& $num)
{
$num = 45;
}
$num = 3;
change($num);
echo $num; // Выведит 45, так как вместо копии пошёл сам объект
?>
|
| |
|
|
|