0

私はこのような3つの配列を持っています:

1位

Array
(
    [0695] => Array
        (
            [loan_number] => 0695
            [start_date] => 2011-12-25
        )
)

2位

Array
(
    [0695] => Array
        (
            [name] => ''
            [address] => ''
        )
)

3位

Array
(
    [0695] => Array
        (
            [items] => Array
                (
                    [0] => Array
                        (
                            [item] => ''
                            [qty] => ''
                            [price] => ''
                        )
                )
        )
)

array_merge_recursive(array1,array2,array3) 生成:

Array
(
    [0695] => Array
        (
            [loan_number] => 0695
            [start_date] => 2011-12-25
            [name] => ''
            [address] => ''
            [items] => Array
                (
                    [0] => Array
                        (
                            [item] => ''
                            [qty] => ''
                            [price] => ''
                        )
                )
        )
)

しかし、配列キーがこのような場合

Array
(
    [1685] => Array
        (
            [loan_number] => 1685
            [start_date] => 2011-12-25
        )
)

Array
(
    [1685] => Array
        (
            [name] => ''
            [address] => ''
        )
)

Array
(
    [1685] => Array
        (
            [items] => Array
                (
                    [0] => Array
                        (
                            [item] => ''
                            [qty] => ''
                            [price] => ''
                        )
                )
        )
)

この結果は次のようになります

Array
(
    [0] => Array
        (
            [loan_number] => 1685
            [start_date] => 2011-12-25
        )

    [1] => Array
        (
            [name] => ''
            [address] => ''
        )

    [2] => Array
        (
            [items] => Array
                (
                    [0] => Array
                        (
                            [item] => ''
                            [qty] => ''
                            [price] => ''
                        )
                )
        )
)

なぜこれが起こるのか、そしてこれを防ぎ、最初のものとして結果を得る方法について何か考えはありますか?

4

1 に答える 1

2

ドキュメントから:

ただし、配列に同じ数字キーがある場合、後の値は元の値を上書きしませんが、追加されます。

「0695」は数字キーではありませんが、「1685」は数字キーです。

そのページの最初のコメント(実際にはほとんどのコメント)は、回避策を説明しています。

于 2012-03-25T19:10:21.177 に答える