元のキーを保持しながら数値キー付きの連想配列をマージする
数値キー付きのインデックスを持つ 2 つの連想配列をマージする場合、一般的に問題が発生します要素とその元のキーの両方を保持します。次の配列について考えてみましょう。
array( '11' => '11', '22' => '22', '33' => '33', '44' => '44' ); array( '44' => '44', '55' => '55', '66' => '66', '77' => '77' );
array_unique( array_merge( $array1 , $array2 ) ) を使用するのが解決策のように思えるかもしれませんが、元のキーが変更されます。
解決策 1 : array_merge と array_combine を使用する
を使用するarray_merge で配列を結合し、array_combine で元のキーを再作成します。
$output = array_merge($array1, $array2); $output = array_combine($output, $output);
解決策 2: Array Merge Union 演算子 () を使用する
便利な解決策は次のとおりです。配列マージユニオン演算子を使用します ( ):
$output = $array1 + $array2;
結果:
どちらの場合も、結果の配列には元のキーが保持され、すべての一意の要素が含まれます:
array( '11' => '11', '22' => '22', '33' => '33', '44' => '44', '55' => '55', '66' => '66', '77' => '77' );
以上が元のキーを保持しながら、PHP で数値キー配列をマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。