Когда я запускаю код blow:
$var[0] = 'a';
$tmp = $var;
$var[0] = 'b';
var_dump($tmp);
, на выходе получается:
array(1) { [0]=> string(1) "a" }
Когда я добавляю следующую строку:
$var[0] = 'a';
$foo = & $var[0]; # added line
$tmp = $var;
$var[0] = 'b';
var_dump($tmp);
, результат становится:
array(1) { [0]=> &string(1) "b" }
Если я присваиваю переменную $ foo
по ссылке на элемент массива $ var [0]
- это переменная $ tmp
, присвоенная по значению массиву $ var
должен измениться вот так? Почему это происходит?