1

array_merge_recursive2 つのデータ構造をマージするために使用しようとしています。

<?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を除いて、まったく同じであると予想されます。代わりに、このlive exampleに見られるように、古い値を含む配列に変換され、値がそれに追加されます。modules.barfalsebarfalse

ドキュメンテーション ページには、これが数値キーの場合に発生することが示されていますが、これらはすべて文字列キーです。誰でもこれに光を当てることができますか?

4

1 に答える 1

3

欲しいと思いますarray_replace_recursive

array_merge_recursive()対。array_replace_recursive()

于 2013-04-25T20:17:18.957 に答える