unset大家都知道是销毁一个变量,但是很少人用,为什么呢!因为大家都觉得没什么必要,其实这种想法是错误的
我来举一个例子虽然看着不是太明显但是数字的变化应该还是看的出来的
首先声明两个数组:
$arrayone=array( 0=>array( 'tags'=>"维达纸巾6包装", 'price'=>'36.50', 'p_id'=>'20170317141158' ), 1=>array( 'tags'=>"慕纯3包装", 'price'=>'36.50', 'p_id'=>'20170317141159' ), 2=>array( 'tags'=>"唯爱纯本色", 'price'=>'36.50', 'p_id'=>'20170317141160' ), 3=>array( 'tags'=>"心心相应", 'price'=>'36.50', 'p_id'=>'20170317141201' ), 4=>array( 'tags'=>"维达纸巾3包装", 'price'=>'18.50', 'p_id'=>'20170317141202' ), 5=>array( 'tags'=>"维达纸巾平装", 'price'=>'37.50', 'p_id'=>'20170317141203' ), 6=>array( 'tags'=>"洁云", 'price'=>'36.50', 'p_id'=>'20170317141204' ), 7=>array( 'tags'=>"维达纸巾平装", 'price'=>'26.50', 'p_id'=>'20170317141205' ) ); $arraytwo=array( 0=>array( 'name'=>"玫瑰", 'id'=>'20170317141205' ), 1=>array( 'name'=>"月季", 'id'=>'20170317141203' ),2=>array( 'name'=>"薰衣草", 'id'=>'20170317141202' ) );这里之后我们打印看一下内存消耗情况
echo memory_get_usage();
这里显示的用了这么多下面接着写
我现在组装两个数组
$arraytwo=array_values($arraytwo); $arrayone=array_values($arrayone); $dao=array_map(function($val) use ($arraytwo){ $val['name']=array_reduce($arraytwo,function($apply,$v) use ($val){ if($v['id']==$val['p_id']) $apply= $v['name']; return $apply; },"没有名称"); return $val; },$arrayone); echo "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; echo memory_get_usage();得出下面的图片结果:
在尝试一下销毁这个内存
unset($arraytwo,$arrayone);再来看结果
这就是为什么用完一个数组变量之后要注销掉这个变量的原因
下面来看看这个数组打印出来的结果吧!