ホームページ >バックエンド開発 >PHPの問題 >キー値を変更せずにPHPで配列をマージする方法

キー値を変更せずにPHPで配列をマージする方法

PHPz
PHPzオリジナル
2023-04-26 10:23:261228ブラウズ

PHP では、2 つの配列を結合することは非常に一般的なタスクです。ただし、場合によっては配列をマージする必要があるが、同時に元の配列のキー値も保持したい場合はどうすればよいでしょうか?この記事では、配列を結合するときにキー値を保持する方法をいくつか紹介します。

1. array_merge 関数を使用する

array_merge この関数は、1 つ以上の配列を結合して、新しい配列を返すことができます。複数の配列が渡された場合、それらはパラメーターの順序でマージされます。

デフォルトでは、array_merge 関数はインデックス配列内のキー値を並べ替えます。ただし、元の配列に連想配列が含まれている場合は、そのキー値が保持されます。したがって、array_merge 関数を使用すると、キー値を変更せずに配列をマージする必要性を実現できます。

次の例は、array_merge を使用してキー値を変更せずに配列をマージする方法を示しています:

<?php
$array1 = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;);
$array2 = array(1, 2, 3);
$result = array_merge($array1, $array2);
print_r($result);
?>

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

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => 1
    [4] => 2
    [5] => 3
)

array_merge 関数を使用して配列を結合すると、インデックス配列のキー値が再配置されますが、連想配列のキー値は保持されることがわかります。

2. 演算子を使用する

キー値を保持しながら配列を結合する別の方法は、 演算子を使用することです。この方法は 2 つの配列でのみ機能しますが、新しい配列を作成する必要がないため、array_merge 関数よりも効率的です。

演算子を使用して 2 つの配列をマージすると、PHP はマージされた配列の重複を除去します。同じキー値が 2 つの配列に存在する場合、マージされた配列には最初の配列の要素のみが保持されます。

次の例は、 演算子を使用してキー値を変更せずに配列を結合する方法を示しています。

<?php
$array1 = array(&#39;a&#39; => 1, 'b' => 2, 'c' => 3);
$array2 = array('b' => 4, 'd' => 5, 'e' => 6);
$result = $array1 + $array2;
print_r($result);
?>

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

Array
(
    [a] => 1
    [b] => 2
    [c] => 3
    [d] => 5
    [e] => 6
)

演算子を使用して配列を結合した後、連想配列のキー値が保持され、インデックス配列の要素も結合されることがわかります。

概要

この記事では、キー値を変更せずに配列を結合する 2 つの方法、つまり array_merge 関数と 演算子を使用する方法を紹介します。これらの方法は非常にシンプルですが、非常に実用的です。複数の配列を扱う場合でも、2 つの連想配列をマージする必要がある場合でも、これらのメソッドは、元の配列のキー値を保持し、配列を迅速にマージするのに役立ちます。

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

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