PHP:如何从数组中删除特定元素?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

当我知道元素名称时,如何从数组中删除元素?例如:

我有一个数组:

$array = (apple, orange, strawberry, blueberry, kiwi);

用户输入 strawberry

strawberry 已移除。

提问于
用户回答回答于

如果找到array_searchunset则使用获取密钥并将其删除:

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

array_search返回,直到PHP 4.2.0),如果项目不被发现。

如果可以有多个具有相同值的项目,则可以使用array_keys获取所有项目的键:

foreach (array_keys($array, 'strawberry') as $key) {
    unset($array[$key]);
}
用户回答回答于

使用array_diff()的解决方案:

$array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi', 'strawberry'); //throw in another 'strawberry' to demonstrate that it removes multiple instances of the string
$array_without_strawberries = array_diff($array, array('strawberry'));
print_r($array_without_strawberries);

扫码关注云+社区