Как сбросить массив внутри массива

У меня есть массив в следующей структуре

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 () по nr, например unset [nr] => 3,
так как мне это сделать?

2

Решение

Вы должны зациклить элементы членов и проверить, если nr имеет значение, которое вы хотите. Затем вы можете использовать unset() удалить запись:

foreach ($array['members'] as $key => $item) {
if (isset($item['nr']) && $item['nr'] == 3) {
unset($array['members'][$key]) ;
}
}
2

Другие решения

Вы можете напрямую использовать unset($main['members'][2]['nr']); если вы не хотите использовать цикл foreach

1

я хотел бы использовать array_filter вместо сброса я бы отфильтровал значения, которые вам действительно нужны.

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

Рабочая скрипка

1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector