PHP多次元配列の値をマージする方法

PHPz
リリース: 2023-04-25 10:19:13
オリジナル
1066 人が閲覧しました

PHP の開発プロセスでは、複数のネストされた配列で構成され、大量のデータを節約できる多次元配列がよく使用されます。ただし、場合によっては、配列内のすべての値を結合する必要があるため、これを実現するために PHP が提供するいくつかの関数を使用する必要があります。

配列の結合が必要となる状況は 2 つあります。 1 つ目は、同じキーと値のペアをマージして、配列処理中にキーと値のペアの重複を防ぐことです。 2 番目のケースは、多次元配列内のすべての値をマージして、異なる配列内の値を 1 つの配列にマージできるようにすることです。

2 つの状況に応じた具体的な実装方法を次に示します。

最初のケース:

array_merge 関数を使用して、2 つの配列内のキーと値のペアをマージできます。ただし、キー値が重複している場合は、後者が前者を上書きします。このメソッドは、同じ次元の配列のみをマージできます。

サンプル コード:

$array1 = array('a' => 'apple', 'b' => 'banana');
$array2 = array('c' => 'cherry', 'b' => 'blueberry');
$result = array_merge($array1, $array2);
print_r($result);
ログイン後にコピー

上記のコードの出力は次のとおりです:

Array
(
    [a] => apple
    [b] => blueberry
    [c] => cherry
)
ログイン後にコピー

$ に 'b'=>'blueberry' キーがあるため、それがわかります。 array2 配列 値は $array1 配列の 'b'=>'banana' キー値と重複するため、最終出力の 'b' キー値の値は 'blueberry' になります。

2 番目のケース:

array_merge_recursive 関数を使用すると、同じキーと値のペアを上書きせずに、2 つ以上の多次元配列内のすべての値を 1 つの配列にマージできます。値と部分配列を再帰的に結合することです。

サンプル コード:

$array1 = array('red' => array('apple', 'strawberry'), 'green' => 'kiwi');
$array2 = array('blue' => array('blueberry', 'grape'), 'red' => 'cherry');
$result = array_merge_recursive($array1, $array2);
print_r($result);
ログイン後にコピー

上記のコードの出力は次のとおりです:

Array
(
    [red] => Array
        (
            [0] => apple
            [1] => strawberry
            [2] => cherry
        )

    [green] => kiwi
    [blue] => Array
        (
            [0] => blueberry
            [1] => grape
        )

)
ログイン後にコピー

ご覧のとおり、$array2 配列の 'red' キー値は$array1 配列はすでに存在するため、$array2 配列のキーと値のペア 'red'=>'cherry' が red のキーと値の配列に追加されます。

上記の 2 つの方法を使用すると、PHP 多次元配列のキーと値のペアと値を簡単にマージして、データをより効率的に処理できます。

以上がPHP多次元配列の値をマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート