ホームページ  >  記事  >  バックエンド開発  >  PHP の array_merge_recursive() 関数の使用方法の概要

PHP の array_merge_recursive() 関数の使用方法の概要

WBOY
WBOYオリジナル
2023-06-27 12:21:521288ブラウズ

PHP の array_merge_recursive() 関数は、2 つ以上の配列を 1 つの配列にマージするメソッドです。array_merge() 関数との違いは、配列要素をマージするだけでなく、各配列もマージすることです。各配列の要素が再帰的に結合されて、より大きな配列になります。したがって、array_merge_recursive() 関数は、深くネストされており、配列を再帰的にマージする必要がある場合に非常に役立ちます。この記事では、array_merge_recursive() 関数の具体的な使用方法を紹介します。

array_merge_recursive() 関数の基本構文は次のとおりです。

array array_merge_recursive(array $array1 [, array $array2 [, array $... ]] )

このうち、$array1 は必須パラメータであり、マージされる最初の配列を表します。 $array2 から $arrayN は、マージされる他の配列を示すオプションのパラメーターです。

例 1:

次は、2 つの配列を 1 つにマージする方法を示す簡単な例です:

$array1 = array("color" => array("favorite" => "red"), 5);
$array2 = array(10, "color" => array("favorite" => "green", "blue"));

$result = array_merge_recursive($array1, $array2);
print_r($result);

出力は次のとおりです:

Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )
            [0] => blue
        )
    [0] => 5
    [1] => 10
)

配列要素が配列に正常にマージされ、同じ配列キー名が保存されていることがわかります。

例 2:

次の例は、配列に基づいて他の配列を追加する方法を示します。具体的には、まず「people」という名前の配列を作成し、次に「John」、「Sarah」、「Michael」という名前の 3 つの配列をこの配列にマージします。

$people = array(
    "John" => array("age" => 25, "sex" => "male"),
    "Sarah" => array("age" => 31, "sex" => "female"),
);

$people = array_merge_recursive($people, array(
    "John" => array("height" => "6'1""),
    "Michael" => array("age" => 37)
));

print_r($people);

出力結果は次のとおりです。 #「John」の「age」と「sex」のキー名がすでに存在し、「height」のキー名がマージ中に追加され、「Michael」の配列が「people」の配列に完全に追加されたことがわかります。 。つまり、array_merge_recursive() 関数は 2 つの異なる配列をより大きな配列に完全にマージすることができ、同じキー名の値は再帰的にマージされ、異なるキー名の値は新しい配列に追加されます。

概要:

array_merge_recursive() 関数は、複数の配列をエンドツーエンドでマージする必要がある場合に非常に便利に使用できます。配列内にネストされたサブ配列がある場合、この関数はこれらの配列を再帰的にマージし、サブ配列内のキー名の競合を回避できます。

以上がPHP の array_merge_recursive() 関数の使用方法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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