一尘不染

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

php

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

我有一个数组:

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

用户输入 strawberry

strawberry 已移除。

要充分说明:

我有一个数据库,该数据库存储用逗号分隔的项目列表。该代码根据用户选择所在的位置来提取列表。因此,如果他们选择草莓,则会在草莓所在的每个条目中进行代码提取,然后使用split()将其转换为数组。我想让他们从数组中删除用户选择的项目(例如此示例草莓)。


阅读 251

收藏
2020-05-26

共1个答案

一尘不染

使用array_search拿到钥匙,并删除它unset一旦发现:

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

array_search如果未找到任何项目,则返回 false (直到PHP 4.2.0为止为 null )。

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

foreach (array_keys($array, 'strawberry') as $key) {
    unset($array[$key]);
}
2020-05-26