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

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

PHPz
PHPzオリジナル
2023-04-12 13:53:49761ブラウズ

インターネットの継続的な発展に伴い、Web プログラムはますます多くの人が使用するツールになりました。その中でも、PHP 言語は間違いなく最も人気のある Web バックエンド言語の 1 つです。 PHP では、配列は開発者によってよく使用されるデータ型であり、大量のデータを迅速に保存および管理できます。その中でも、配列の結合は非常に一般的な操作です。ただし、配列をマージする場合、元の順序を維持する必要が生じることがよくあります。この記事では、PHP で配列の順序を変更せずに配列をマージする方法を説明します。

1. 配列の結合

PHP では、次の例のように、 演算子を使用して配列を結合できます。

$a = array('apple', 'banana', 'orange');
$b = array('pear', 'grape', 'kiwi');
$c = $a + $b;
print_r($c);

ご覧のとおり、

演算子を使用して配列を結合する場合、2 つの配列のキー名が同じ場合、最初の配列が優先されます。数値インデックスを自動的に再構築します。 2. 配列の順序を維持する Merge メソッド

2 つの配列をマージし、元の順序を維持したい場合は、

array_merge( in PHP )## を使用できます。 # 関数。この関数は、渡された順序で複数の配列をマージし、数値インデックスを自動的に再構築しません。

たとえば、次のコードは、array_merge()

関数を使用した配列の結合の例です。

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
    [4] => grape
    [5] => kiwi
)
上記のコードは、次の内容を出力します。
$a = array('apple', 'banana', 'orange');
$b = array('pear', 'grape', 'kiwi');
$c = array_merge($a, $b);
print_r($c);
出力結果からわかるように、

array_merge()

を使用して配列を結合する場合、元の順序は維持され、数値インデックスは自動的に再構築されません。

また、同じキー名に対応する値を順序を保ったまま保持したい場合は、array_replace()

関数を使用します。この関数は、元の順序を維持したまま、前の配列の同じキーの値を後の配列の値で上書きします。たとえば、次の例:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
    [4] => grape
    [5] => kiwi
)
出力結果は次のとおりです:
$a = array('apple', 'banana', 'orange');
$b = array('banana', 'pear', 'grape');
$c = array_replace($a, $b);
print_r($c);
出力結果からわかるように、

array_replace()

関数を実行すると、元の順序を維持したまま、最初の配列の「banana」を「banana」に置き換えます。

3. 配列のマージの概要

この記事では、PHP で配列をマージし、元の順序を維持する方法を紹介します。このうち、

演算子は 2 つの配列を 1 つの配列にマージできますが、数値インデックスは自動的に再構築され、

array_merge() 関数は数値インデックスを自動的に再構築せずに元の順序を維持できます。 . Index; また、array_replace()関数は、同じキー名に対応する値を順序を保ったまま保持することができます。 どの方法を使用する場合でも、実際のアプリケーションのシナリオに応じて最適な方法を選択する必要があります。この記事が、PHP で配列を結合するための参考になれば幸いです。

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

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