2

我有一个以下结构的数组

Array ( [members] => Array ( 
    [0] => Array ( [nr] => 2 [email] => email1 ) 
    [1] => Array ( [nr] => 6 [email] => email2 ) 
    [2] => Array ( [nr] => 3 [email] => email3 ) 
 )
 [title] => List members 
)

我想通过 nr 删除项目 [3] => Array (),例如 unset [nr] => 3,那么我该怎么做呢?

4

3 回答 3

2

您必须遍历成员项目并检查是否nr具有您想要的值。然后,您可以使用unset()删除条目:

foreach ($array['members'] as $key => $item) {
    if (isset($item['nr']) && $item['nr'] == 3) {
        unset($array['members'][$key]) ;
    }
}
于 2018-03-09T10:39:31.810 回答
2

我会使用array_filter而不是 unset 我会过滤您实际需要的值。

$array['members'] = array_filter($array['members'], function($member) {
    return $member['nr'] !== 3;
});

工作小提琴

于 2018-03-09T11:01:00.270 回答
1

unset($main['members'][2]['nr']);如果不想使用 foreach 循环,可以直接使用

于 2018-03-09T10:45:19.383 回答