• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP实现删除数组中的特定元素

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

方法1:

1 <?php
2 $arr1 = array(1,3, 5,7,8);
3 $key = array_search(3, $arr1);
4 if ($key !== false)
5     array_splice($arr1, $key, 1);
6 var_dump($arr1);
7 ?>

返回结果:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) }

PHP array_splice() 函数 
array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。 
最后生成的数组将会返回。 
语法:array_splice(array,offset,length,array) 
array:必需。规定数组。 
offset:必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。 
length:可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。 
array:被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。 
如果函数没有删除任何元素 (length=0),则替代数组将从 start 参数的位置插入。 

 

注:W3school array_splice() 链接:http://www.w3school.com.cn/php/func_array_splice.asp

 

方法2:

1 <?php
2 $arr2 = array(1,3, 5,7,8);
3 foreach ($arr2 as $key=>$value)
4 {
5     if ($value === 3)
6         unset($arr2[$key]);
7 }
8 var_dump($arr2);
9 ?>

返回结果:array(4) { [0]=> int(1) [2]=> int(5) [3]=> int(7) [4]=> int(8) }

总结:可以看到使用array_splice()删除特定值和使用unset删除特定值是有区别的。

array_splice()函数删除的话,数组的索引值也变化了,并且重新建立了索引。

unset()函数删除的话,数组的索引值没有变化,就是说这种方法的最大缺点是没有重建数组索引。 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php压缩文件zip发布时间:2022-07-10
下一篇:
php简单分词,无需插件,无需复杂环境发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap