ホームページ  >  記事  >  バックエンド開発  >  PHP配列マージ用の他の拡張関数は何ですか?

PHP配列マージ用の他の拡張関数は何ですか?

王林
王林オリジナル
2024-04-28 11:57:021036ブラウズ

PHP には、配列を結合するための 3 つの拡張関数が用意されています。array_merge_recursive() は配列を再帰的に結合し、array_replace() は同じキー名で値を上書きし、array_replace_recursive() は配列内の値を再帰的に上書きします。

PHP配列マージ用の他の拡張関数は何ですか?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。