//声明一个变量$a $a = array_fill(0, 100, 'php'); //将$a赋值给$b $b = $a;
此时内存空间里面并不会有2个变量,因为php有个机制叫COW(Copy On Write)只有在写(修改数据)的时候才会复制一份到内存中
所以此时$a与$b在内存中是指向同一个地方
$j = 0; foreach ($b as $key => $val){ $j++; }
即使我们循环遍历了,只要没有修改操作,那么$a和$b还是指向同一块内存
$b[3] = 'new_php';
当$b的值发生改变时,php(内核)将重新申请一块内存空间,然后进行赋值