PHP には、配列を結合するための 3 つの拡張関数が用意されています。array_merge_recursive() は配列を再帰的に結合し、array_replace() は同じキー名で値を上書きし、array_replace_recursive() は配列内の値を再帰的に上書きします。
PHP 配列マージ用のその他の拡張関数
array_merge()
関数に加えて、PHP配列をマージするために他の拡張関数も使用されます。これらの関数は、より複雑な状況を処理するために使用できるさまざまなマージ オプションを提供します。
1. array_merge_recursive()
この関数は、2 つ以上の配列を再帰的にマージします。 array_merge()
とは異なり、既存のキー名は上書きされませんが、そのサブ配列が最終結果にマージされます。
$arr1 = ['a' => 1, 'b' => ['c' => 3, 'd' => 4]]; $arr2 = ['a' => 2, 'b' => ['e' => 5, 'f' => 6]]; $result = array_merge_recursive($arr1, $arr2); var_dump($result);
出力:
array(2) { ["a"]=> int(2) ["b"]=> array(3) { ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) } }
2. array_replace()
この関数は、最初の配列内の同じキー名を 2 番目の配列値に置き換えます。配列はマージされませんが、最初の配列の値が 2 番目の配列の値で上書きされます。
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3]; $arr2 = ['b' => 4, 'd' => 5]; $result = array_replace($arr1, $arr2); var_dump($result);
出力:
array(4) { ["a"]=> int(1) ["b"]=> int(4) ["c"]=> int(3) ["d"]=> int(5) }
3. array_replace_recursive()
この関数は array_replace()
に似ていますが、再帰的 配列内の値を置換します。これは、部分配列内の値も置き換えられることを意味します。
$arr1 = ['a' => 1, 'b' => ['c' => 3, 'd' => 4]]; $arr2 = ['b' => ['e' => 5, 'f' => 6]]; $result = array_replace_recursive($arr1, $arr2); var_dump($result);
出力:
array(2) { ["a"]=> int(1) ["b"]=> array(2) { ["e"]=> int(5) ["f"]=> int(6) } }
以上がPHP配列マージ用の他の拡張関数は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。