如何在数组中取消设置数组
How to unset array inside array
我有一个结构如下的数组
Array ( [members] => Array (
[0] => Array ( [nr] => 2 [email] => email1 )
[1] => Array ( [nr] => 6 [email] => email2 )
[2] => Array ( [nr] => 3 [email] => email3 )
)
[title] => List members
)
我想删除项目[3] => Array() by nr, like unset [nr] => 3,
那我该怎么做呢?
您必须遍历成员项并检查 nr
是否具有您想要的值。然后,您可以使用 unset()
删除条目:
foreach ($array['members'] as $key => $item) {
if (isset($item['nr']) && $item['nr'] == 3) {
unset($array['members'][$key]) ;
}
}
不想使用foreach循环可以直接使用unset($main['members'][2]['nr']);
我会使用 array_filter 而不是 unset 我会过滤您实际需要的值。
$array['members'] = array_filter($array['members'], function($member) {
return $member['nr'] !== 3;
});
我有一个结构如下的数组
Array ( [members] => Array (
[0] => Array ( [nr] => 2 [email] => email1 )
[1] => Array ( [nr] => 6 [email] => email2 )
[2] => Array ( [nr] => 3 [email] => email3 )
)
[title] => List members
)
我想删除项目[3] => Array() by nr, like unset [nr] => 3, 那我该怎么做呢?
您必须遍历成员项并检查 nr
是否具有您想要的值。然后,您可以使用 unset()
删除条目:
foreach ($array['members'] as $key => $item) {
if (isset($item['nr']) && $item['nr'] == 3) {
unset($array['members'][$key]) ;
}
}
不想使用foreach循环可以直接使用unset($main['members'][2]['nr']);
我会使用 array_filter 而不是 unset 我会过滤您实际需要的值。
$array['members'] = array_filter($array['members'], function($member) {
return $member['nr'] !== 3;
});