当我知道元素名称时,如何从数组中删除元素?例如:
我有一个数组:
[troli] => Array (
[fruit] => Array (
[0] => Array (
[name] => apple
[foo] => bar
)
[1] => Array (
[name] => banana
[foo] => bar
)
)
[vegetables] => Array (
[0] => Array (
[name] => tomatoes
[foo] => bar
)
[1] => Array (
[name] => asparagus
[foo] => bar
)
)
)
- 用户输入CCD_ 1
CCD_ 2被移除。
- 用户输入
asparagus
CCD_ 4被移除。
使用array_filter
函数的解决方案:
$arr = ['troli' => Array(
'fruit' => Array(
0 => Array(
'name' => 'apple'
),
1 => Array(
'name' => 'banana'
)
),
'vegetables' => Array(
0 => Array(
'name' => 'tomatoes'
),
1 => Array(
'name' => 'asparagus'
)
)
)];
$itemToRemove = "asparagus";
foreach ($arr['troli'] as $k => &$v) {
$v = array_filter($v, function($v) use($itemToRemove){
return $v['name'] != $itemToRemove;
});
}
print_r($arr);
您可以将Null保存在其位置,然后在其上使用array_filter来删除Null数据。将结果存储在所需的变量中。
在这种情况下,使用foreach来运行循环。检查该值是否与输入值匹配。如果匹配,请将其替换为null并应用array_filter()。