PHP関数アプリケーション配列のマージ

WBOY
リリース: 2023-06-20 11:28:02
オリジナル
1705 人が閲覧しました

PHP プログラミングでは、配列 (array) は非常に一般的に使用されるデータ型です。 PHP には、配列結合 (マージ) 関数など、配列を操作するための関数が多数用意されています。配列のマージとは、2 つ以上の配列の要素を 1 つの配列に結合することを意味します。この記事では、PHPの配列結合機能とその応用例を紹介します。

  1. array_merge()
    array_merge() 関数は、PHP の最も基本的な配列マージ関数で、2 つ以上の配列の要素を 1 つの配列にマージします。その使用法は次のとおりです。
mixed array_merge ( array $array1 [, array $... ] )
ログイン後にコピー

このうち、パラメータ array1 はマージされる最初の配列を表し、次のパラメータ $... はマージされる他の配列を表します。例:

$arr1 = array('apple', 'banana');
$arr2 = array('cat', 'dog', 'elephant');
$result = array_merge($arr1, $arr2);
print_r($result);
ログイン後にコピー

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

Array
(
  [0] => apple
  [1] => banana
  [2] => cat
  [3] => dog
  [4] => elephant
)
ログイン後にコピー

結果からわかるように、関数 array_merge() は 2 つの配列 $arr1 と $ の要素をマージします。 arr2 を配列 $result に新規に挿入し、元の順序で並べます。

マージされた配列内に同じキー名 (key) が存在する場合、後の値が前の値を上書きすることに注意してください。例:

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

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

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

結果からわかるように、配列 $arr2 内のキー名 'a' がキー名 ' をカバーしています。配列 $arr1 ' 内の a' と、キー名 'b' と 'c' の値はマージされません。

  1. array_merge_recursive()
    array_merge() 関数と同様に、array_merge_recursive() 関数も配列をマージするために使用される関数です。違いは、多次元配列を処理し、同じキーを持つ値を単一の配列に再帰的にマージすることです。使用方法は以下の通りです。
mixed array_merge_recursive ( array $array1 [, array $... ] )
ログイン後にコピー

例:

$arr1 = array('a' => array('apple'), 'b' => array('banana'));
$arr2 = array('a' => array('orange'), 'c' => array('cherry'));
$result = array_merge_recursive($arr1, $arr2);
print_r($result);
ログイン後にコピー

上記コードの出力結果は、

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

結果からわかるように, キー名 'a' は に対応します 値は配列です マージする場合、関数 array_merge_recursive() は配列内の値を再帰的にマージします。

マージされた配列に同じキー名が存在する場合、それらの値は 1 つの配列にマージされることに注意してください。例:

$arr1 = array('a' => array('apple'), 'b' => array('banana'));
$arr2 = array('a' => array('orange'), 'b' => array('cherry'));
$result = array_merge_recursive($arr1, $arr2);
print_r($result);
ログイン後にコピー

上記コードの出力結果:

Array
(
  [a] => Array
    (
      [0] => apple
      [1] => orange
    )
  [b] => Array
    (
      [0] => banana
      [1] => cherry
    )
)
ログイン後にコピー

結果からわかるように、キー名「a」に対応する値は配列です。 、関数 array_merge_recursive() は、配列内の値を再帰的に結合します。キー名「b」については、同じキー名が存在するため、それらの値を配列にマージします。

  1. array_replace()
    array_replace() 関数は、配列をマージするために使用される関数でもあります。 array_merge() 関数とは異なり、ある配列の値を別の配列の同じキー名で上書きします。その使用法は次のとおりです。
mixed array_replace ( array $array1, array $array2 [, array $... ] )
ログイン後にコピー

このうち、パラメータ $array1 は置換対象の配列を表し、パラメータ $array2 は置換に使用される配列を表し、$... は使用されるその他の配列を表します。交換用。例:

$arr1 = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$arr2 = array('a' => 'orange', 'd' => 'durian');
$result = array_replace($arr1, $arr2);
print_r($result);
ログイン後にコピー

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

Array
(
  [a] => orange
  [b] => banana
  [c] => cherry
  [d] => durian
)
ログイン後にコピー

結果からわかるように、関数 array_replace() は値 'apple' をキー名 ' に置き換えます。配列 $arr1 の a' 配列 $arr2 のキー名 'a' の値 'orange' になります。

ある配列を使用して別の配列を置き換える場合、配列内に同じキー名の値がある場合、後の値が前の値を上書きすることに注意してください。例:

$arr1 = array('a' => 'apple', 'b' => 'banana');
$arr2 = array('a' => 'orange', 'b' => 'cherry');
$result = array_replace($arr1, $arr2);
print_r($result);
ログイン後にコピー

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

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

結果からわかるように、関数 array_replace() は値 'orange' をキー名 ' に置き換えます。配列 $arr2 の a' 配列 $arr1 の値 'apple' が削除され、キー名 'b' を持つ値 'cherry' が配列 $arr1 の値 'banana' に置き換えられます。

要約すると、配列の結合は PHP プログラミングで非常に一般的な操作です。 PHP 配列マージ関数の array_merge()、array_merge_recursive()、および array_replace() を使用すると、配列のマージおよび置換操作を実現して、PHP プログラミングを容易にすることができます。

以上がPHP関数アプリケーション配列のマージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!