php5.3 引用数组的怪现象

$arr = array(0,1,2,3);
$tmp = $arr;

$arr[1] = 11;
echo $tmp[1];
  • ht 是指针

哈希表 在指向各自的zvalue

数组只是一个指针,指向另外的哈希表,哈希表在存者各个的单元的zvalue的结构
php5.3 引用数组的怪现象_第1张图片

改了一个值,需要分裂
$arr[1] = 11

分裂了,有自己的zvalue结构 ,都是晚分裂的

例如 36个学生我只是改了一个,其他35个学员还是一样的,数组哈希表,其它35个还是还能与你的35个公用结构体。维度1,有自己的结构体,

php5.3 引用数组的怪现象_第2张图片

php5.3 引用数组的怪现象_第3张图片

$arr = array(0,1,2,3)
$tmp = $arr;
$x = &$arr[1]

$arr[1] = 999;  #强制分裂,要不然其他也会受到干扰
echo $tmp[1]; //1 

t m p 和 tmp 和 tmparr 公用一个结构体

有一个改了引用型

php7后续会写

你可能感兴趣的:(PHP)