2014-09-30 53 views
1

我刚开始从w3schools学习PHP。 下面给出的代码是发送三个数组到一个名为myfunction的函数。PHP array_diff_uassoc()函数

$result=array_diff_uassoc($a1,$a2,$a3,"myfunction"); 

但函数只接受两个数组。

function myfunction($a,$b) 

这是什么?

complete code link

+4

意见:你不应该使用或连结[W3Schools的(http://www.w3fools.com)。这不是一个可靠的信息来源,我们不想鼓励它的使用。 – 2014-09-30 12:51:20

+0

w3fools.com ...:p – 2014-09-30 12:55:52

+1

@JohnConde:我不是w3schools的粉丝,但他们已经清理了自己的行为。即使w3fools也承认这一点。他们的网站明确表示,这是一个足够体面的地方开始 – 2014-09-30 13:00:49

回答

1

退房的文档的array_diff_uassoc()查看回调的定义是什么,这是它用来进行比较的方法,它接受两个值,尽管提供的值的数量:

参数:key_compare_func

比较函数必须返回一个整数小于,等于,或 大于零,如果第第一个参数被认为是 分别小于,等于或大于第二个参数。

int callback (mixed $a, mixed $b) 

在所提供的示例中的回调方法是function myfunction($a,$b)

您还可以从您可以提供2个或更多的阵列功能的文档看,这是由以下定义页面的顶部指出:

阵列array_diff_uassoc(数组$数组1,数组$数组2 [,数组 $ ...],调用$ key_compare_func)

+0

这是什么?返回($ a> $ b)? 1:-1; – 2014-09-30 12:58:03

+0

这意味着回调函数根据回调函数中的逻辑是否认为数组$ a是'more'而不是数组'$ b'返回1或-1值结果。如果是,则为-1,否则为-1 – Luke 2014-09-30 12:59:55

+0

Coulton非常感谢。 :) – 2014-09-30 13:27:43