您好,欢迎访问一九零五行业门户网

关于array_diff_uassoc的疑问

源码:
$b)? 1:-1; } $array1 = array(a => green, b => brown, c => blue, red); $array2 = array(a => green, yellow, red); $result = array_diff_uassoc($array1, $array2, key_compare_func); print_r($result);

结果:
string(1) bstring(1) a=====1string(1) bstring(1) c=====2int(0)string(1) b=====3string(1) aint(0)=====4int(0)string(1) a=====5int(1)int(0)=====6string(1) aint(0)=====7string(1) astring(1) a=====8int(0)string(1) a=====8int(0)int(0)=====9string(1) bstring(1) a=====9string(1) bint(0)=====10string(1) bint(1)=====11string(1) cstring(1) a=====12string(1) cint(0)=====13string(1) cint(1)=====14array( [b] => brown [c] => blue [0] => red)

请问:
对于这个函数,他的比较原理是什么?为什么要进行14次比较?

回复内容: 源码:
$b)? 1:-1; } $array1 = array(a => green, b => brown, c => blue, red); $array2 = array(a => green, yellow, red); $result = array_diff_uassoc($array1, $array2, key_compare_func); print_r($result);

结果:
string(1) bstring(1) a=====1string(1) bstring(1) c=====2int(0)string(1) b=====3string(1) aint(0)=====4int(0)string(1) a=====5int(1)int(0)=====6string(1) aint(0)=====7string(1) astring(1) a=====8int(0)string(1) a=====8int(0)int(0)=====9string(1) bstring(1) a=====9string(1) bint(0)=====10string(1) bint(1)=====11string(1) cstring(1) a=====12string(1) cint(0)=====13string(1) cint(1)=====14array( [b] => brown [c] => blue [0] => red)

请问:
对于这个函数,他的比较原理是什么?为什么要进行14次比较?

查阅了一下源码,在比较之前,php还进行了一次排序操作,排序时也会采用这个回调函数,这也就是你会看到结果中会有b和c这两个出现在同一个数组中的键进行比较的记录。
其它类似信息

推荐信息