有是一個更優雅的解決方案:
$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