问一个PHP数组合并的问题

$arraya = array(
array("title"=>"标题标题标题标题","url"=>"http://www.163.com"),
array("title"=>"标题标题标题标题","url"=>"http://www.sina.com"),
array("title"=>"标题标题标题标题","url"=>"http://www.sohu.com")
);

$arrayb = array(
array("index"=>1,"title"=>"标题标题标题标题","url"=>"http://www.baidu.com")
);


foreach($arraya as $key => $value){
            foreach($arrayb as $key2 => $value2){
                if($value2['index'] == $key){
                                        $arraya [$key]['title'] = $value['title'];
                    $arraya [$key]['url'] = $value2['url'];
                }
            }
        }

我是使用的foreach来把$arraya中的第2条记录更新为$arrayb中记录,能否使用数组合并的方式来更新这条记录?

阅读 1.4k
1 个回答

可以这么写,B+A

$arraya = array(
    array("title"=>"标题标题标题标题","url"=>"http://www.163.com"),
    array("title"=>"标题标题标题标题","url"=>"http://www.sina.com"),
    array("title"=>"标题标题标题标题","url"=>"http://www.sohu.com")
);

$arrayb = array(
    array("index"=>1,"title"=>"标题标题标题标题","url"=>"http://www.baidu.com")
);

$arrayb = array_column($arrayb, null, 'index');

// var_dump(array_merge($arraya, $arrayb));
var_dump($arrayb + $arraya);
推荐问题