合并一个数组,但保留不在另一个数组中的值


Merging an array but keeping values that weren't in the other array

我要做的是用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
    ),
);

array_merge()改为array_merge_recursive()