有是一个更优雅的解决方案:
$arr = array('Apple', 'Pear', 'Pineapple');
$newArr = array_filter($arr, function($element) {
return $element != "Apple";
});
print_r($newArr);
输出是
Array
(
[1] => Pear
[2] => Pineapple
)
或者,如果您需要排除一切,但Apple
,只是改变了return
声明return $element == "Apple";
更新
你说这是不是一个完美的解决方案,因为
变量作用域将找不到要在那里使用的函数的参数。即方法参数$param1
不能用于返回$element == $param1;
但它可以。你只是不知道use
:
$arr = array('Apple', 'Pear', 'Pineapple');
$param = "Apple";
$newArr = array_filter($arr, function($element) use ($param) {
return $element != $param;
});
现在,$newArr
仍然包含请求
Array
(
[1] => Pear
[2] => Pineapple
)
什么?你想要一个元素,你知道你正在寻找的元素的价值? 'in_array' ... –
我需要它在我正在使用的其余api中排除列表 – madcrazydrumma
需要更多详细信息。你有什么工作,那么你需要什么不同? – AbraCadaver