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
)
)
The goal is to remove user_mob_* where mob is empty !
The answer is:
foreach($array as $key => $row) {
if(empty($row['mob'])) unset($array[$key]);
}
Simple, but I'm new in php and first I thinked to use functions like array_filter etc.
All ingenious is simple.
Your idea of using a built-in function like array_filter
is a very good one; PHP has lots of these that can make your life easier.
Specifically, array_filter
accepts a callback that you can use to customize the filtering logic. This would work:
$filtered = array_filter($array, function($el) { return !empty($el['mob']); });
Here the callback is supplied as an anonymous function.