ホームページ  >  記事  >  バックエンド開発  >  PHP の array_diff_assoc と array_diff 関数インスタンスの比較

PHP の array_diff_assoc と array_diff 関数インスタンスの比較

巴扎黑
巴扎黑オリジナル
2017-05-23 18:02:031911ブラウズ

以前 array_diff について触れましたが、今回はそのアップグレード版で、PHP の配列差分比較 array_diff_assoc 関数を使用して、異なる配列のキーと値の違いを比較し、インデックス配列に従って出力します。

使用構文は array_diff と同じです

$newarray = array_diff_assoc($array1,$array2....);

同じことに注意してください: array_diff_assoc は再帰的に比較できず、1 次元のみ比較できます。配列、配列がネストされた配列の場合、「配列」に従って次の配列を比較します。たとえ異なる配列であっても、それらは同じになります。

違いは、今回はキー値、つまりインデックス値が多いことです。インデックスが異なる場合は、それらを配列に返さなければなりません。

例:

1. インデックスとの比較

<?php
$array = array("key_name"=>"array","key_function"=>"array_diff_assoc");
$array1 = array("site"=>"forasp","name"=>"网站制作学习网","key_function"=>"array_diff_assoc");
$forasp = array_diff_assoc($array,$array1);
print_r($forasp);
?>

結果:

Array
(
[key_name] => array //也就是这个key-value 值没有在后面的数组中出现,是个不同值。
)

2. インデックスのない配列の場合はどうなるか

<?php
$array = array("forasp","array","array_diff_assoc");
$array1 = array("forasp","网站制作学习网","array_diff_assoc");
$forasp = array_diff_assoc($array,$array1);
print_r($forasp);
?>

結果は上記と同じですが、キーがインデックスになる点が異なります

Array
(
[1] => array //也就是这个key-value 值没有在后面的数组中出现,是个不同值。
)

つまり、インデックスのない配列では、インデックスの ID と値が比較されます。

Array_diff_assoc が導入されました。array_diff のアップグレード版です。

以上がPHP の array_diff_assoc と array_diff 関数インスタンスの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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