ホームページ > バックエンド開発 > PHPの問題 > 重複データを削除せずにPHPで配列をマージする方法

重複データを削除せずにPHPで配列をマージする方法

zbt
リリース: 2023-07-13 16:55:02
オリジナル
1349 人が閲覧しました

php が重複データを削除せずに配列をマージする方法は次のとおりです。 array_merge_recursive 関数を使用すると、重複データを削除せずに配列をマージできますが、重複データをサブ配列にマージして、すべてのデータをマージできます。重複データが失われることはありません。

重複データを削除せずにPHPで配列をマージする方法

このチュートリアルの動作環境: Windows10 システム、php8.1.3 バージョン、DELL G3 コンピューター。

PHP では、array_merge 関数を使用して 2 つの配列をマージできます。 array_merge 関数の機能は、1 つ以上の配列を新しい配列にマージすることです。ただし、array_merge 関数は重複データを重複排除するため、重複データを削除せずに配列をマージしたい場合は、array_merge_recursive 関数を使用できます。

array_merge_recursive 関数には array_merge 関数と同様の関数がありますが、重複データは削除されません。同じキー名が配列内に存在する場合、array_merge_recursive 関数は同じキー名のデータを部分配列にマージします。

構文:

array_merge_recursive ( array $array1 [, array $... ] ) : array

パラメータの説明:

-$array1:要合并的第一个数组,必需。
-$...:要合并的其他数组,可选。
ログイン後にコピー

戻り値:

マージされた配列。

次は、array_merge_recursive 関数の使用方法を示す例です:

$array1=array('a'=>'apple','b'=>'banana');
$array2=array('a'=>'orange','c'=>'cherry');
$array3=array('d'=>'durian');
$result=array_merge_recursive($array1,$array2,$array3);
print_r($result);
输出结果:
Array
(
[a]=>Array
(
[0]=>apple
[1]=>orange
)
[b]=>banana
[c]=>cherry
[d]=>durian
)
ログイン後にコピー

ご覧のとおり、配列 $array1 と配列 $array2 のキー 'a' が繰り返されていますが、 array_merge_recursive 関数によってマージされます。 最後に、重複キーがサブ配列にマージされます。

配列をマージする際、同じキー名に非配列と配列が存在する場合、array_merge_recursive 関数は非配列の値を配列に変換することに注意してください。

例:

$array1=array('a'=>'apple','b'=>'banana');
$array2=array('a'=>array('orange','cherry'));
$result=array_merge_recursive($array1,$array2);
print_r($result);
输出结果:
Array
(
[a]=>Array
(
[0]=>apple
[1]=>Array
(
[0]=>orange
[1]=>cherry
)
)
[b]=>banana
)
ログイン後にコピー

上の例では、配列 $array2 のキー 'a' は配列であり、配列 $array1 のキー 'a' は文字列です。 array_merge_recursive 関数を使用してマージした後、配列 $array1 内のキー 'a' が配列に変換されます。

要約すると、array_merge_recursive 関数を使用すると、配列をマージするときに重複データを削除することはできませんが、重複データをサブ配列にマージできます。これにより、すべてのデータが保持され、重複したデータが失われることはありません。 。

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート