PHP では、2 つの配列を結合することは非常に一般的なタスクです。ただし、場合によっては配列をマージする必要があるが、同時に元の配列のキー値も保持したい場合はどうすればよいでしょうか?この記事では、配列を結合するときにキー値を保持する方法をいくつか紹介します。
1. array_merge
関数を使用する
array_merge
この関数は、1 つ以上の配列を結合して、新しい配列を返すことができます。複数の配列が渡された場合、それらはパラメーターの順序でマージされます。
デフォルトでは、array_merge
関数はインデックス配列内のキー値を並べ替えます。ただし、元の配列に連想配列が含まれている場合は、そのキー値が保持されます。したがって、array_merge
関数を使用すると、キー値を変更せずに配列をマージする必要性を実現できます。
次の例は、array_merge
を使用してキー値を変更せずに配列をマージする方法を示しています:
<?php $array1 = array('a', 'b', 'c'); $array2 = array(1, 2, 3); $result = array_merge($array1, $array2); print_r($result); ?>
上記のコード例の出力は次のとおりです:
Array ( [0] => a [1] => b [2] => c [3] => 1 [4] => 2 [5] => 3 )
array_merge
関数を使用して配列を結合すると、インデックス配列のキー値が再配置されますが、連想配列のキー値は保持されることがわかります。
2.
演算子を使用する
キー値を保持しながら配列を結合する別の方法は、
演算子を使用することです。この方法は 2 つの配列でのみ機能しますが、新しい配列を作成する必要がないため、array_merge
関数よりも効率的です。
演算子を使用して 2 つの配列をマージすると、PHP はマージされた配列の重複を除去します。同じキー値が 2 つの配列に存在する場合、マージされた配列には最初の配列の要素のみが保持されます。
次の例は、
演算子を使用してキー値を変更せずに配列を結合する方法を示しています。
<?php $array1 = array('a' => 1, 'b' => 2, 'c' => 3); $array2 = array('b' => 4, 'd' => 5, 'e' => 6); $result = $array1 + $array2; print_r($result); ?>
上記のコード例の出力は次のとおりです。
Array ( [a] => 1 [b] => 2 [c] => 3 [d] => 5 [e] => 6 )
演算子を使用して配列を結合した後、連想配列のキー値が保持され、インデックス配列の要素も結合されることがわかります。
概要
この記事では、キー値を変更せずに配列を結合する 2 つの方法、つまり array_merge
関数と
演算子を使用する方法を紹介します。これらの方法は非常にシンプルですが、非常に実用的です。複数の配列を扱う場合でも、2 つの連想配列をマージする必要がある場合でも、これらのメソッドは、元の配列のキー値を保持し、配列を迅速にマージするのに役立ちます。
以上がキー値を変更せずにPHPで配列をマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。