2

2 つの配列を結合しようとしていますが、キーはそのままにしておきます。

たとえば、次の $artist_ids 配列があります。

Array
(
    [1] => Array
    (
        [artist_id] => 12291
        [artist_name] => Maroon 5
    )
)

そして、私は $song_ids 配列を持っています:

Array
(
[0] => Array
    (
        [id] => 113064
        [title] => Harder To Breathe
        [artist_id] => 12291
        [artist_name] => Maroon 5
    )

[2] => Array
    (
        [id] => 113065
        [title] => This Love
        [artist_id] => 12291
        [artist_name] => Maroon 5
    )

[3] => Array
    (
        [id] => 113066
        [title] => Shiver
        [artist_id] => 12291
        [artist_name] => Maroon 5
    )
}

ここで、array_merge($artist_ids, $song_ids) を使用すると、新しい配列が作成され、$song_ids が $artist_ids の末尾に追加されるように見えます。キーを完全に無視します -- $artist_ids[1] は突然 [0] になり、残りはその後に続きます。

キーを所定の位置に保持するために何を使用できますか? 出力を次のようにしたい:

Array
(
[0] => Array
    (
        [id] => 113064
        [title] => Harder To Breathe
        [artist_id] => 12291
        [artist_name] => Maroon 5
    )
[1] => Array
    (
        [artist_id] => 12291
        [artist_name] => Maroon 5
    )

[2] => Array
    (
        [id] => 113065
        [title] => This Love
        [artist_id] => 12291
        [artist_name] => Maroon 5
    )

[3] => Array
    (
        [id] => 113066
        [title] => Shiver
        [artist_id] => 12291
        [artist_name] => Maroon 5
    )
}
4

1 に答える 1

3

オーバーロードされたものを使用+して配列をマージするだけです:

$new_array = $artist_ids + $song_ids;

ここで実際に見てください:http://codepad.viper-7.com/1bJAfH

于 2013-01-28T02:38:18.950 に答える