php根据指定字段匹配查找合并两个二维数组

根据字段,合并两个数组

将b数组aid跟a中id 相同的合并到一起 

用array_search,array_column进行二维数组搜索

搜索到的话合并

        $a = array(
            array("id"=> "1","name"=> "aaa","switch"=> "on"),
            array("id"=> "2","name"=> "aaa","switch"=> "on"),
            array("id"=> "3","name"=> "aaa","switch"=> "on"),
            array("id"=> "4","name"=> "aaa","switch"=> "on"),

        );

        $b = array(
            array("aid"=> "1","list"=> "0","add"=> 1),
            array("aid"=> "2","list"=> "1","add"=> 0),
            array("aid"=> "3","list"=> "0","add"=> 1),

        );
        $temp = array_column($a, 'id');
        foreach ($b as $k => $v){
            $index = array_search($v['aid'], $temp);
            $index && $a[$index] = array_merge($a[$index],$v);

        }

 

你可能感兴趣的:(php)