优秀的编程知识分享平台

网站首页 > 技术文章 正文

array_diff你总会用到,删除数组中指定的value

nanyue 2024-10-16 11:06:20 技术文章 5 ℃

在开发过程中经常需要删除数组中某个值;

比如说有个数组;

我们希望删除 李四 这个值;

常规的思路是先用 array_search 函数获取 李四 在

这里有个坑是为了避免要删除的值在数组第0个位置的时候;

此处不能使用 if(names中的键名;然后使用unset删除;为了严谨还得判断李四是否存在;¨G1G这里有个坑是为了避免要删除的值在数组第0个位置的时候;此处不能使用if(key) 来判断;

而是应该使用if ($key !== false) ;

另外unset 不会重新格式化数组的key ;

操作完后会是这个样子的;

这个0和2少了1很是难受;

上面这两种操作中我们还可以用 array_splice 替代 unset;

而且一旦数组中有多个李四;

罢特如果王麻子也有两个的话;

因为键名不能重复的原因;

这种操作后只会保留1个王麻子;

因此这种方式不够完美;

文章磨磨唧唧终于算是讲到了最后;

拿出了标题中的array_diff;

array_diff 本来是用来计算数组的差集;

8过根据我们小学学过的知识扩展下;

这个求差集可以用来删除数组指定的值;

如果忘了差集的概念;

现在可以翻开小学数学课本三年级上册《集合》复习下了;

array_diff 跟 unset 一样并不会格式化键名;

如果需要格式化键名;

就再加个 array_value;

最近发表
标签列表