首页 > 解决方案 > 在 PHP 中组合关联数组

问题描述

<?php
$arrayName1 = array(
    '0' => array('name' => 'steve' ,'age' =>51 ) , 
    '1' => array('name' => 'john' ,'age' =>48 ) , 
);

$arrayName2 = array(
    '0' => array('name' => 'Steve' ,'place' =>'downtown' ), 
    '1' => array('name' => 'John' ,'place' =>'New York' ), 
);

$output = array(
    '0' => array('name' => 'steve' ,'age' =>51, 'place' =>'downtown'  ), 
    '1' => array('name' => 'john' ,'age' =>48 ,'place' =>'New York' ), 
);

期待通过“name”键组合两个数组,并获得示例结果作为 $output。array_merge () 没有按预期工作。

标签: phparrayscodeigniter

解决方案


利用array_replace_recursive

$arrayName1 = array(
        '0' => array('name' => 'steve' ,'age' =>51 ) , 
        '1' => array('name' => 'john' ,'age' =>48 ) , 
    );

$arrayName2 = array(
    '0' => array('name' => 'steve' ,'place' =>'downtown' ), 
    '1' => array('name' => 'john' ,'place' =>'New York' ), 
);

$out = array_replace_recursive($arrayName1, $arrayName2);
print_r($out);

输出将是

Array (
    [0] => Array
        (
            [name] => steve
            [age] => 51
            [place] => downtown
        )

    [1] => Array
        (
            [name] => john
            [age] => 48
            [place] => New York
        )

)

推荐阅读