array_splice() array_slice() unset()区别

本文通过PHP实例深入探讨了array_slice与array_splice在处理数组时的区别,特别是它们如何影响数组结构与内存地址。文章详细展示了两者在删除数组元素时的不同行为,并通过代码示例直观呈现。
<?php
$test[]=array('1'=>'a');
$test[]=array('2'=>'b');
foreach ($test as $m => $n) {
	/*array_slice($test, intval($m), 1);*/
	/*array_splice($test, intval($m), 1);*/
	unset($test[$m]);
	echo $m;
}
var_dump($test);
?>

array_slice提取数组中的一部分数据,返回提取数据,对原数组影响。

array array_splice ( array input, int offset [, int length [, array replacement]]);如果未填写replacement参数,截取一段数据,返回截取数据,对原数组影响,原数组减少截取部分,后面的移到前面,填补前面删除的位置,内存存储地址应该是变化了。

但是:如上代码,使用unset和array_splice得到的结果不同,unset结果$test为empty;array_splice结果为array('2'=>'b');

unset删除,内存存储地址未变。

欢迎大家来指正

转载于:https://my.oschina.net/u/1258176/blog/281041

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值