САМОУЧИТЕЛЬ PHP 4




Жесткие ссылки


Жесткая ссылка представляет собой просто переменную, которая является синонимом другой переменной. Многоуровневые ссылки (то есть, ссылка на ссылку на переменную, как это можно делать, например, в Perl) не поддерживаются. Так что, думаю, не стоит воспринимать жесткие ссылки серьезнее, чем синонимы.

Чтобы создать жесткую ссылку, нужно использовать оператор & (амперсанд). Например:

$a=10;

$b = &$a;  // òåïåðü $b— òî æå ñàìîå, ÷òî è $a

$b=0;      // íà ñàìîì äåëå $a=0

echo "b=$b, a=$a"; // âûâîäèò "b=0, a=0"

Ссылаться можно не только на переменные, но и на элементы массива (этим жесткие ссылки выгодно отличаются от символических). Например:

$A=array('a' => 'aaa', 'b' => 'bbb');

$b=&$A['b'];  // òåïåðü $b — òî æå, ÷òî è ýëåìåíò ñ èíäåêñîì 'b' ìàññèâà

$b=0;         // íà ñàìîì äåëå $A['b']=0;

echo $A['b']; // âûâîäèò 0

Впрочем, элемент массива, для которого планируется создать символическую ссылку, может и не существовать. Как в следующем случае:

$A=array('a' => 'aaa', 'b' => 'bbb');

$b=&$A['c'];  // òåïåðü $b — òî æå, ÷òî è ýëåìåíò ñ èíäåêñîì 'c' ìàññèâà

echo "Ýëåìåíò ñ èíäåêñîì 'c': (".$A['c'].")";




Содержание  Назад  Вперед