array_udiff_assoc和array_diff_uassoc
之间有什么区别对于array_udiff_assoc我得到了这个东西
<?php
function myfunction($v1,$v2)
{
if ($v1===$v2)
{
return 0;
}
return 1;
}
$a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
$a2=array("a"=>"Cat","b"=>"Horse","c"=>"Dog");
print_r(array_udiff_assoc($a1,$a2,"myfunction"));
?>
结果
Array ( [b] Dog [c] => Horse )
还有array_diff_uassoc
<?php
function myfunction($v1,$v2)
{
if ($v1===$v2)
{
return 0;
}
return 1;
}
$a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
$a2=array("a"=>"Cat","b"=>"Horse","c"=>"Dog");
print_r(array_diff_uassoc($a1,$a2,"myfunction"));
?>
结果与第一个相同
Array ( [b] Dog [c] => Horse )
是否有任何区别,如果有的话。 Php手册没有像过去那样说它们是别名。
答案 0 :(得分:5)
它们都是相同的,但是udiff-assoc
将DATA与用户提供的函数进行比较,而diff-uassoc
将INDEX与用户提供的函数进行比较。
作为对@lonsesomeday的回答:如'u'所示,diff_assoc
将使用内部函数进行所有比较,udiff_uassoc
使用提供的回调进行索引和数据比较。
答案 1 :(得分:0)
array_udiff_assoc
- 使用附加索引检查计算数组的差异,通过回调函数比较数据
array_diff_uassoc
- 通过用户提供的回调函数执行附加索引检查来计算数组的差异
因此,函数在使用回调函数的位置不同。 udiff_assoc使用回调来比较元素,diff_uassoc在比较索引时使用回调。