PHP从数组中删除特定项

28 浏览
0 Comments

PHP从数组中删除特定项

这个问题已经有答案了:

PHP array delete by value (not key)

我有一个数组,像这样:[312, 401, 1599, 3]

使用array_diff([312, 401, 1599, 3], [401])可以删除值,在我的例子中我删除了值401。

但如果我的数组这样:[312, 401, 401, 401, 1599, 3],如何只删除一次401的值?

我需要删除的401值的第一或最后一个并不重要,我只需要删除一个401值,如果我想要删除所有401值,我需要删除三次。

谢谢!

admin 更改状态以发布 2023年5月24日
0
0 Comments

使用array_intersect,您可以一次检索所有匹配的键,这使您可以决定将哪个具体键使用unset移除。

0
0 Comments

使用array_search,您可以获取给定值的第一个匹配键,然后可以使用unset删除它。

if (false !== $key = array_search(401, $array)) {
  unset($array[$key]);
}

0