当我知道元素名称时,如何从数组中删除元素?例如:
我有一个数组:
$array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi');
用户输入
被移除。
完整地解释:
我有一个数据库,其中存储由逗号分隔的项目列表。代码根据用户选择的位置拉入列表。所以,如果他们选择了草莓,他们会在每一项中编码提取到草莓所在的位置,然后使用split()将其转换为一个数组。我想让它们从数组中删除用户选择的项,比如本例中的strawberry。
发布于 2010-03-16 01:24:34
使用
要获取密钥并使用以下命令删除它,请执行以下操作
如果找到:
if (($key = array_search('strawberry', $array)) !== false) {
unset($array[$key]);
}
返回
错误
(
空
直到PHP 4.2.0)。
如果可以有多个项具有相同的值,则可以使用
要获取所有项的密钥,请执行以下操作:
foreach (array_keys($array, 'strawberry') as $key) {
unset($array[$key]);
}
发布于 2013-09-17 22:07:43
使用
对于单行解决方案:
$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循环。
发布于 2010-03-16 01:08:14
if (in_array('strawberry', $array))
{
unset($array[array_search('strawberry',$array)]);
}
https://stackoverflow.com/questions/2448964
复制相似问题