首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP:如何从数组中移除特定元素?

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

Stack Overflow用户
提问于 2010-03-16 01:05:31
回答 23查看 512.4K关注 0票数 175

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

我有一个数组:

代码语言:javascript
复制
$array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi');

用户输入

被移除。

完整地解释:

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

EN

回答 23

Stack Overflow用户

回答已采纳

发布于 2010-03-16 01:24:34

使用

要获取密钥并使用以下命令删除它,请执行以下操作

如果找到:

代码语言:javascript
复制
if (($key = array_search('strawberry', $array)) !== false) {
    unset($array[$key]);
}

返回

错误

(

直到PHP 4.2.0)。

如果可以有多个项具有相同的值,则可以使用

要获取所有项的密钥,请执行以下操作:

代码语言:javascript
复制
foreach (array_keys($array, 'strawberry') as $key) {
    unset($array[$key]);
}
票数 330
EN

Stack Overflow用户

发布于 2013-09-17 22:07:43

使用

对于单行解决方案:

代码语言:javascript
复制
$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);

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

票数 168
EN

Stack Overflow用户

发布于 2010-03-16 01:08:14

代码语言:javascript
复制
if (in_array('strawberry', $array)) 
{
    unset($array[array_search('strawberry',$array)]);
}
票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2448964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档