数组指针特例-写时复制cow(copy on write)

<?php

$arr1 = array('吕布', '赵云', '典韦');
end($arr1);
next($arr1);//非法了
$arr2 = $arr1;//值传递
//使用的一个数组(指针非法的那个数组)
//var_dump($arr2);
var_dump(current($arr1));
echo '<br>';
var_dump(current($arr2));
$arr2[] = '关羽';//$arr2 改了, 开辟新空间存新数组,让$arr2使用新空间,指针被初始化
//var_dump(current($arr1));
//var_dump(current($arr2));
echo '<hr>';
$arr1 = array('吕布', '赵云', '典韦');

foreach($arr1 as $key => $value) {//$copy_arr1 = $arr1
	var_dump($key, $value);
	if($key == 0) {
		$arr1[] = 'hero';
	}
	echo '<br>';
}
var_dump(current($arr1));


//测试内存使用量
echo memory_get_usage();
$v1 = 10;//体积比较大的变量
//测试内存使用量,明显增大
$v2 = $v1;
//测试内存使用量,不会明显增大
$v1 = 20;
//测试内存使用量,会明显增加
//memory_get_usage();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值