【问题标题】:Odd array_merge_recursive behavior with string keys带有字符串键的奇怪 array_merge_recursive 行为
【发布时间】:2013-04-25 20:11:40
【问题描述】:

我正在尝试使用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。相反,正如live example 中所见,bar 被转换为包含其旧值的数组,并且值 false 被附加到该数组。

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

【问题讨论】:

    标签: php arrays merge


    【解决方案1】:

    【讨论】:

    • 我当然愿意!非常感谢。如果您不介意,我在您的回答中添加了一篇我发现的详细说明差异的文章。
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 2011-01-04
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    相关资源
    最近更新 更多