以前 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 サイトの他の関連記事を参照してください。