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

标签 php arrays

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

我有一个数组:

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

用户输入草莓

strawberry 已从 $array 中删除。

全面解释:

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

最佳答案

使用 array_search获取 key 并使用 unset 将其删除如果找到:

if (($key = array_search('strawberry', $array)) !== false) {
    unset($array[$key]);
}
如果没有找到项目,

array_search 返回 false(null 直到 PHP 4.2.0)。

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

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

关于PHP:如何从数组中删除特定元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2448964/

相关文章:

php - Codeigniter - 从我渲染的 View 中删除空行

php - 使用 PHP 和 MySQL 进行多搜索分页

php - 嵌入 CSS 与引用 CSS

c - 被调用函数是否应该始终检查 C 中的数组大小?

php - 数组空白回显问题

c - 我不断收到段错误

javascript - 使用 Google Maps API 根据邮政编码和门牌号将地址填充到 php 表单中

c# - 像PHP这样的C#中的“魔术”常量?

arrays - OCaml:动态数组?

javascript - 使用类/构造函数与变量方法时的范围不同