Array ( [user_mob_1] => Array ( [mob_code] => 06 [mob] => 069633345 [type] => 1 [phone_id] => 0 ) [user_mob_2] => Array ( [mob_code] => 07 [mob] => 07123456 [type] => 1 [phone_id] => ) [user_mob_6] => Array ( [mob_code] => 0 [mob] => [type] => 1 [phone_id] => 0 ) )
Цель состоит в том, чтобы удалить user_mob_ *, где толпа пуста!
Ответ:
foreach($array as $key => $row) { if(empty($row['mob'])) unset($array[$key]); }
Простой, но я новичок в php, и сначала я решил использовать такие функции, как array_filter и т. Д.
Все гениальное просто.
Ваша идея использования встроенной функции, такой как array_filter
очень хорошая; У PHP много таких, которые могут сделать вашу жизнь проще.
В частности, array_filter
принимает обратный вызов , который можно использовать для настройки логики фильтрации. Это будет работать:
$filtered = array_filter($array, function($el) { return !empty($el['mob']); });
Здесь обратный вызов предоставляется как анонимная функция .