ホームページ  >  記事  >  バックエンド開発  >  PHP 配列マージ + array_merge による差分分析、および複数の配列をマージするための重複排除テクニック

PHP 配列マージ + array_merge による差分分析、および複数の配列をマージするための重複排除テクニック

不言
不言オリジナル
2018-03-29 15:08:251717ブラウズ

PHP で 2 つの配列をマージするには + または array_merge を使用できますが、それらの間にはまだ違いがあります。この記事では、PHP の配列マージ + と array_merge の違いの分析と、複数の配列をマージするための重複排除テクニックを紹介します。この記事。

主な違いは、同じキー名が 2 つ以上の配列に出現する場合、キー名は文字列または数値に分割されることです。

1) キー名が 数値 の場合、 array_merge() の後の値は元の値を上書きして末尾に追加することはありませんが、 + 配列のマージは最初の値を最終結果として返し、後続の配列で同じキー名を持つそれらの値を「破棄」します(上書きではありません)

2) キー名が string の場合、array_merge() は同じキー名で前の値を上書きしますが、 + は引き続き最初の値を最終結果として返し、後続の配列を最終結果として返します。同じキー名が返されます。それらの値は「破棄」されます (上書きされません)。

配列キー形式「number」は数値と同等であることに注意してください

$a = array('a', 'b');
$b = array('c', 'd');
$c = $a + $b;
var_dump($a);
var_dump(array_merge($a, $b));

//输出:

array
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)

array
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)
  2 => string 'c' (length=1)
  3 => string 'd' (length=1)

++++++++++++++++++++++++++++++++++++++++++  
  
$a = array(
	0 => 'a',
	1 => 'b'
);
$b = array(
	0 => 'c',
	1 => 'b'
);
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

//输出:

array
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)

array
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)
  2 => string 'c' (length=1)
  3 => string 'b' (length=1)

++++++++++++++++++++++++++++++++++++++++++  

$a = array('a', 'b');
$b = array(
	'0' => 'c',
	1 => 'b'
);
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

//输出:
array
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)

array
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)
  2 => string 'c' (length=1)
  3 => string 'b' (length=1)

++++++++++++++++++++++++++++++++++++++++++ 

$a = array(
	0 => 'a',
	1 => 'b'
);
$b = array(
	'0' => 'c',
	'1' => 'b'
);
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

输出:

array
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)

array
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)
  2 => string 'c' (length=1)
  3 => string 'b' (length=1)


複数の配列のマージと重複排除に関するヒント

$a = array('1001','1002');
$b = array('1002','1003','1004');
$c = array('1003','1004','1005');
$d = count(array_flip($a) + array_flip($b) + array_flip($c));

関連する推奨事項:

PHP 変換文字列または 配列を 1 つの配列にマージする方法

PHP で 2 次元配列をマージする 2 つの方法

配列のマージを実装する PHP のいくつかの方法の紹介

上記は、PHP の配列マージの違いの分析です。 + array_merge と多数の比較 配列のマージと重複排除のテクニックの詳細については、PHP 中国語 Web サイトの他の関連記事に注目してください。


以上がPHP 配列マージ + array_merge による差分分析、および複数の配列をマージするための重複排除テクニックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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