ホームページ  >  記事  >  バックエンド開発  >  PHP 配列関数 array_merge

PHP 配列関数 array_merge

墨辰丷
墨辰丷オリジナル
2018-05-22 10:46:561488ブラウズ

この記事では主に PHP の配列関数 array_merge を紹介します。興味のある方はぜひ参考にしてください。

この関数は昔から使っていましたが、あまり深く調べずに簡単に使っていました

今日、他の人のブログを見ていたら、array_mergeの使用体験をいくつか見かけたので、使ってみました。自分でまとめてみました。

array_merge は、1 つ以上の配列をマージします。

この関数は主に、データベースから取得した結果セットを結合するために使用されます。

パラメータの設定も非常に簡単です array_merge(arr1, arr2, arrN)

ここでのパラメータは配列である必要があることに注意してください。そうでない場合はエラーが報告されます。

とても簡単そうに見えますが、落とし穴もたくさんあります。

単一配列と複数配列の観点から分析していきます。

1. 複数の配列 (カスタムキー名) のマージ操作:

以下の実行結果から、$arr1 と $arr2 の同じキー名のデータが上書きされていることがわかります。

次の配列は、前の配列の同じキーで値を上書きします。

<?php

$arr1 = array(&#39;a&#39;=>&#39;1&#39;,&#39;b&#39;=>&#39;2&#39;);
$arr2 = array(&#39;a&#39;=>&#39;1&#39;,&#39;b&#39;=>&#39;3&#39;,&#39;c&#39;=>&#39;2&#39;);

$ret = array_merge($arr1,$arr2);
print_r($ret);



//run result
Array
(
  [a] => 1
  [b] => 3
  [c] => 2
)

2. 複数の配列のマージ操作 (カスタマイズされた数値キー名):

配列内のキー名が数値の場合、キー名はフォーマットされ、すべてのキー値は保持される。

<?php

$arr1 = array(1=>&#39;1&#39;,2=>&#39;2&#39;);
$arr2 = array(1=>&#39;1&#39;,2=>&#39;3&#39;,6=>&#39;2&#39;);

$ret = array_merge($arr1,$arr2);
print_r($ret);




//run result

Array
(
  [0] => 1
  [1] => 2
  [2] => 1
  [3] => 3
  [4] => 2
)

3. 複数の配列がマージされます (キー名は入力されません):

<?php

$arr1 = array(1,2);
$arr2 = array(1,2,6);

$ret = array_merge($arr1,$arr2);
print_r($ret);



//run result
Array
(
  [0] => 1
  [1] => 2
  [2] => 1
  [3] => 2
  [4] => 6
)

4. ほとんどのマージ操作 (配列が空の場合):

この操作は、配列が空の場合に非常に一般的で、どの配列が空であっても、既存の値が表示されます。

<?php

$arr1 = array();
$arr2 = array(1,2,6);

$ret = array_merge($arr1,$arr2);
print_r($ret);


//run result
Array
(
  [0] => 1
  [1] => 2
  [2] => 6
)

5. 単一配列の操作:

単一配列 この場合、array_merge() 関数は配列をマージするために使用されるため、通常は使用されません。

ただし、元の関連キー名を復元したい場合は、この機能を使用できますが、お勧めしません。

それよりも優れた関数があるので、array_values()を使用できます

単一配列の操作は、実際には上記の2つの場合と3の場合に非常に似ています。キー名が数値の場合、キー名はフォーマットされます。それ以外の場合は直接表示されます。

<?php

$arr1 = array(1=>1,3=>2,6=>6);

$ret = array_merge($arr1);
print_r($ret);


//run result
Array
(
  [0] => 1
  [1] => 2
  [2] => 6
)

6. 2 つの配列をマージする場合、array_merge() を使用できます。後者の配列は前の配列とマージされます

しかし、前の配列を後の配列で使用したい場合配列 マージを行う場合はどうすればよいですか?

array_merge() 内の 2 つの配列の位置を変更する必要がありますか?実はもっと簡単な方法があります。

「+」を使用するだけで操作を完了できます。

<?php
$arr1 = array(&#39;a&#39;=>1,&#39;b&#39;=>2);
$arr2 = array(&#39;a&#39;=>1,&#39;b&#39;=>3,&#39;c&#39;=>6);

$ret = $arr1+$arr2;
print_r($ret);



//run result
Array
(
  [a] => 1
  [b] => 2
  [c] => 6
)

関連する推奨事項:

imagecopymerge() 関数 半透明の透かしを作成する手順の詳細な説明

array_merge 関数の紹介と使用法の詳細な説明

Emerge nce.jsプラグインの使い方を詳しく解説

以上がPHP 配列関数 array_mergeの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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