PHP: создание копии ссылочной переменной

Если я сделаю копию ссылочной переменной. Является ли новая переменная указателем или она содержит значение переменной, на которую ссылался указатель?

Solutions Collecting From Web of "PHP: создание копии ссылочной переменной"

Он содержит значение. Если вы хотите указать, используйте оператор & для копирования другой ссылки:

 $ a = 'test';
 $ b = & $ a;
 $ c = & $ b;

Давайте сделаем быстрый тест:

 <?php $base = 'hello'; $ref =& $base; $copy = $ref; $copy = 'world'; echo $base; 

Результат hello , поэтому $copy не является ссылкой на %base .

Позвольте мне затушить воду с помощью этого примера:

 $a = array (1,2,3,4); foreach ($a as &$v) { } print_r($a); foreach ($a as $v) { echo $v.PHP_EOL; } print_r($a); 

Вывод:

 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) 1 2 3 3 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 3 )