PHP 数组移除元素

因为某些需求会导致需要移除数组中的某些数据,那么会有哪些方式可以满足这个需求呢?
Come baby,说个简单的。

  1. 特批2个常用函数登场(array_pop(),array_shift()
    array_pop : 移除数组的最后一个元素。
    array_shift : 移除数组的第一个元素。
    举个荔枝:
$arr = [[1,2], [2,3], [3,4], [2,5]];
array_pop($arr);  //输出$arr = [[1,2], [2,3], [3,4]];
array_shift($arr);  //输出$arr = [[2,3], [3,4]];

备注:一维数组同样适用
unset : 哼!居然不把我排在第一位,桑心 。。。
作者 :不把你放在第一位,是因为你是压轴的哈!

  1. 下一位array_splice() 用它要小心的一点就是 改变数组索引
    举个荔枝(为了看清索引,同时看出一个秘密,咱们把结果json_encode()下):
$arr = [[1,2], [2,3], [3,4], [2,5]];
var_dump(json_encode($arr))     //输出   "[[1,3],[2,3],[3,4],[2,5]]"
//现在移除数组中的第三个数组
array_splice($arr,2,1);             // 输出    "[[1,3],[2,3],[2,5]]"

结论:效果看是不是只是把第三个数组移除了,没有产生其他的副作用呢,ok在看下unset做下比较

  1. 压轴unset出来吧 ,这个家伙是不改变的数组索引的哦
    出来吧,荔枝:
$arr = [[1,2], [2,3], [3,4], [2,5]];
var_dump(json_encode($arr))     //输出   "[[1,3],[2,3],[3,4],[2,5]]"
//现在移除数组中的第三个数组
unset($arr[2]);             // 输出  "{"0":[1,3],"1":[2,3],"3":[2,5]}"

ok!不知道你发现没有,unset()之后,会带有索引值的,这就是2者之间的区别了,所以希望读者根据实际需要决定那个函数才是最适合你的。come baby,舞台交给你了,自己去玩吧,骚年!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、数组定义 array() 1、索引数组 在一个变量中,存储一个或多个值。数组中的每一个元素都有一个访问ID,根...
    竹与豆阅读 3,541评论 0 0
  • 1.strlen()与mb_strlen()的作用分别是什么? strlen()和mb_strlen()都是作用于...
    落魄PHP女程序员阅读 2,849评论 0 2
  • 一、Array_key_exists();检查给定的键名或索引是否存在于数组中二、array_keys ()返回数...
    peng_js阅读 2,790评论 0 0
  • 创建数组 索引数组索引为整数,如果没有指定索引值则默认为零,依次递增。 关联数组数组的key为字符串。 多维数组 ...
    栾呱呱阅读 5,668评论 3 34
  • 数组的概述 PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方...
    dptms阅读 5,574评论 0 4

友情链接更多精彩内容