之前说了array_diff,这次是它的升级版本,php数组差异性比较array_diff_assoc函数,用来比较不同数组中的key 和value的差异并按照索引数组输出。

使用语法跟array_diff一样

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

要注意的也一样:array_diff_assoc 不能递归对比,只能是一维数组,如果数组嵌套数组,则将后面的数组按"数组"比较,就算不同的数组也会相同。

不一样的而是,这次的比较多了key值,即索引值,如果索引不同,也要返回到数组中。

举例:

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);
?>
登录后复制

结果跟上面的一样,不同的是这个key变成了索引

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

也就是说在没有索引的数组中,比较的是索引id 和value。

array_diff_assoc就介绍完了,它就是array_diff的升级版本吧。

以上就是PHP中的array_diff_assoc与array_diff函数实例比较的详细内容,更多请关注Work网其它相关文章!

09-19 07:27