一意のキーを使用した連想配列のマージ
PHP では、連想配列は文字列キーを使用して値にアクセスします。このような 2 つの配列をマージする場合、キーが重複すると元の値が失われる可能性があります。これを回避するには、配列を結合するときに元のキーを保持する必要があります。
次の例を考えてみましょう:
$array1 = [ '11' => '11', '22' => '22', '33' => '33', '44' => '44' ]; $array2 = [ '44' => '44', '55' => '55', '66' => '66', '77' => '77' ];
目標は、$array1 と $array2 を次のように結合することです。結果は元のキーを保持し、重複を削除します。その結果、次のようになります。
$output = [ '11' => '11', '22' => '22', '33' => '33', '44' => '44', '55' => '55', '66' => '66', '77' => '77' ];
array_unique 関数を組み合わせて使用するarray_merge を使用すると、キーが再割り当てされるため、望ましい結果が得られません。より効率的なアプローチは、配列を結合するときに元のキーを保持する演算子を使用することです。
$output = $array1 + $array2;
この演算は、2 つの配列を効果的に結合し、重複する値を上書きします。あるいは、明示的にキーを再作成するには、次のコードを使用できます。
$output = array_combine($output, $output);
どちらの方法でも、元の値を保持しながら連想配列を一意のキーとマージする問題に対する解決策が提供されます。
以上が一意のキーを保持したまま PHP 連想配列をマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。