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

9 浏览
0 Comments

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

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

我有一个数组:

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

用户输入 strawberry

strawberry$array 中删除。

完全解释:

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

admin 更改状态以发布 2023年5月25日
0
0 Comments

使用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);

......不需要额外的函数或foreach循环。

0
0 Comments

使用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]);
}

0