过滤多维数组

Ale*_*i T 2 php array-filter

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
        )

)
Run Code Online (Sandbox Code Playgroud)

目标是删除mob_为空的user_mob_*!

答案是:

foreach($array as $key => $row) {
   if(empty($row['mob'])) unset($array[$key]);
}
Run Code Online (Sandbox Code Playgroud)

很简单,但我是php的新手,我首先想到使用像array_filter等函数.

所有巧妙都很简单.

Jon*_*Jon 25

你使用内置函数的想法array_filter非常好; PHP有很多这些可以让你的生活更轻松.

具体来说,array_filter接受可用于自定义过滤逻辑的回调.这可行:

$filtered = array_filter($array, function($el) { return !empty($el['mob']); });
Run Code Online (Sandbox Code Playgroud)

这里的回调是作为匿名函数提供的.