问一个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.3k
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);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题