1

我正在尝试使用array_merge_recursive合并两个数据结构。

<?php
$testSite = array(
    'name' => 'test site',
    'modules' => array(
        'foo' => 'true',
        'bar' => 'true'
    )
);
$testData = array(
    'modules' => array(
        'bar' => 'false'
    )
);

$testSite = array_merge_recursive($testSite, $testData);

请注意,我使用字符串而不是布尔值进行调试打印

我希望$testSite在此代码运行后完全一样,除了modules.bar属性,我希望看到它被更改为false. 相反,正如在这个实时示例中看到的那样,它bar被转换为一个包含它的旧值的数组,并且该值false被附加到该数组中。

文档页面显示这是数字键会发生的情况,但这些都是字符串键。任何人都可以对此有所了解吗?

4

1 回答 1

3

我想你想要array_replace_recursive

array_merge_recursive()对比array_replace_recursive()

于 2013-04-25T20:17:18.957 回答