合并一个数组但保留另一个数组中没有的值

时间:2014-05-03 08:40:10

标签: php arrays merge ini

我尝试做的是用PHP读取INI文件,然后将该数组与另一个数组合并。例如:

$a1 = parse_ini_file("file1.ini",true);
$a2 = parse_ini_file("file2.ini",true);
$info = array_merge($a1,$a2);

现在我的问题是,如果我合并数组:如果子数组写在第二个ini文件中,子数组将被完全替换。

file1.ini

[BASIC]
title=Title
otherInfo=1
[SECONDSECTION]
thestuffs=3

file2.ini

[BASIC]
otherInfo=6

现在,如果我要查看合并数据$info,我会得到这样的结果:

$info = array(
    "BASIC" => array(
        "otherInfo" => 6
    ),
    "SECONDSECTION" => array(
        "thestuffs" => 3
    ),
);

期望的结果:

$info = array(
    "BASIC" => array(
        "title" => "Title"
        "otherInfo" => 6
    ),
    "SECONDSECTION" => array(
        "thestuffs" => 3
    ),
);

1 个答案:

答案 0 :(得分:2)

array_merge()更改为array_merge_recursive()