如何从 php 数组中删除具有特定值的所有元素? (以尽可能最短的方式)[重复]
Posted
技术标签:
【中文标题】如何从 php 数组中删除具有特定值的所有元素? (以尽可能最短的方式)[重复]【英文标题】:How do I remove all elements with a particular value from a php array? (in the shortest way possible) [duplicate] 【发布时间】:2016-09-24 12:07:08 【问题描述】:例如:
$array = ["a", "b", "c", "a", "a"];
我想删除所有"a"
元素以获得输出:
$array = ["b", "c"];
也应该适用于 ints 和 floats。谢谢大家!
【问题讨论】:
array_filter() 函数 向我们展示您的尝试? - 尽可能最短的方式?在速度或代码量方面? 你能举个例子吗? 就代码量而言最短的方式。 重复***.com/questions/7225070/… 【参考方案1】:使用如下定义的array_diff
。您需要将删除的值作为数组并简单地使用数组差异来获得所需的结果。
$array = ["a", "b", "c", "a", "a"];
$arr = array_diff($array, array("a"));
print_r($arr); //Array ( [1] => b [2] => c )
【讨论】:
【参考方案2】:试试这个,它适用于整数、浮点数和字符串..
$array = [1, "b", "c", 1, "a"];
foreach (array_keys($array,1) as $key) ////array_key return matched keys
unset($array[$key]); ///remove value with key
print_r($array);
这会给你:
Array
(
[1] => b
[2] => c
[4] => a
)
【讨论】:
以上是关于如何从 php 数组中删除具有特定值的所有元素? (以尽可能最短的方式)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何从对象数组中获取具有属性的列表,除非它包含具有特定值的另一个项目?
如何从javascript或jquery中的元素数组中删除特定元素