2013-01-22 57 views
-2

array_diff_assocarray_diff_uassoc都做同样的事情(计算差异b/w数组与附加索引检查)唯一的区别是后面的一个accpet a callbackarray_diff_uassoc的实际用途是什么?

区别只是回调,在这种情况下,您应该更喜欢array_diff_uassoc而不是array_diff_assoc

我想知道,如果回调会做以下同是每一个情况,那么是什么用array_diff_uassoc

function key_compare_func($a, $b) 
{ 
    if ($a === $b) { 
     return 0; 
    } 
    return ($a > $b)? 1:-1; 
} 
+2

您是否在标题中提出问题,然后在问题内容中回答问题? –

+1

“这是我们如何得到蚂蚁其他巴里?是的其他巴里,这正是我们如何得到蚂蚁。” – Sammitch

+0

@ExplosionPills:我改写了这个问题 – Daric

回答

3

实际不同的是,用户定义的函数可以任何东西以外的默认值。 您自己定义回调。

仅仅因为文档只给出一个简单的例子并不意味着这是唯一的可能性。这里是你会使用汤姆多维数组元素比较的回调函数的一个人为的例子:

function key_compare_func($a, $b) { 
    if ($a['key']['subkey'] === $b['key']['subkey']) { 
     return 0; 
    } 
    return ($a['key']['subkey'] > $b['key']['subkey'])? 1:-1; 
} 

编辑: PHP7有飞船!

function key_compare_func($a, $b) { 
    return $a['key']['subkey'] <=> $b['key']['subkey'] 
} 
相关问题