この記事では、PHPの配列+記号の結合とarray_mergeの違いを主に紹介します。もう 1 つは、array_merge 関数を使用して加算する方法です。必要な場合は、この 2 つを参照してください。
PHP での配列融合には一般に 2 つの方法があり、1 つはプラス記号を使用して直接追加する方法、もう 1 つは array_merge 関数を使用して追加する方法です。両者には若干の違いがあります。
1.加算検証配列の自然インデックスはリセットされません2.加算方式では、追加された配列の値は上書きされません
3.マージ関数内の自然インデックスがリセットされます
4. マージ関数は、マージされたものとマージされたものの関係は関係ありません。後の配列パラメータの値は、前の配列パラメータの同じキーの値を上書きします。
例:
配列1:
?
2 3 4 5 6 7 8 9 10 11 12 13
|
$arr1 = 配列(
10 => '10の値', 11 => 'valueof11', 'key1' => 'dataofkey1', 'key2' => 'dataofkey2', '配列' => 配列( 'key1' => 1, 'key2' => 'abc', 'key3' => 配列( 1, 2, '名前' => 'ピーター' )、 )、 );
|
?
2 3 4 5 6 7 8 9 10 11 12 13
|
$arr2 = 配列(
10 => '新しい値10', 11 => '新しい値11', 'key1' => 'newdataofkey1', 'key3' => 'newdataofkey3', '配列' => 配列( 'key1' => 2, 'key2' => 'defg', 'key3' => 配列( 1、2、'名前' => 'ジョナサン'、'性別' => '男性' )、 )、 );
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
配列 (サイズ=6) 10 => 文字列 'valueof10' (長さ=9) 11 => 文字列 'valueof11' (長さ=9) 'key1' => 文字列 'dataofkey1' (長さ=10) 'key2' => 文字列 'dataofkey2' (長さ=10) '配列' => 配列(サイズ=3) 'key1' => int 1 'key2' => 文字列 'abc' (長さ=3) 'key3' => 配列(サイズ=3) 0 => int 1 1 => int 2 '名前' => 文字列 'ピーター' (長さ=5) 'key3' => 文字列 'newdataofkey3' (長さ=13)
配列(サイズ=8) 0 => 文字列 'valueof10' (長さ=9) 1 => 文字列 'valueof11' (長さ=9) 'key1' => 文字列 'newdataofkey1' (長さ=13) 'key2' => 文字列 'dataofkey2' (長さ=10) '配列' => 配列(サイズ=3) 'key1' => int 2 'key2' => 文字列 'defg' (長さ=4) 'key3' => 配列(サイズ=4) 0 => int 1 1 => int 2 '名前' => 文字列 'ジョナサン' (長さ=8) '性別' => 文字列 '男性' (長さ=4) 2 => 文字列 'newvalueof10' (長さ=12) 3 => 文字列 'newvalueof11' (長さ=12) 'key3' => 文字列 'newdataofkey3' (長さ=13) |