PHP:array_uintersect()意外输入参数

PHP:array_uintersect()意外输入参数,php,arrays,callback,Php,Arrays,Callback,最近遇到了函数。我只是想知道,当我将意外的输入传递给回调函数时,是否有人能解释输入参数是如何传递的,我已经看过了答案,但找不到问题的答案。任何帮助或线索将不胜感激,只是试图了解工作的回拨功能 注:函数的结果非常好 代码: 当我们将这两个数组作为参数传递时,我们希望输入是来自每个数组的值,其中As得到的结果如下 结果: 1 -- 2 2 -- 3 4 -- 5 5 -- 1 4 -- 1 1 -- 1 1 -- 2 2 -- 4 3 -- 4 Array ( [0] => 1 ) 正如@N

最近遇到了函数。我只是想知道,当我将意外的输入传递给回调函数时,是否有人能解释输入参数是如何传递的,我已经看过了答案,但找不到问题的答案。任何帮助或线索将不胜感激,只是试图了解工作的回拨功能

注:函数的结果非常好

代码:

当我们将这两个数组作为参数传递时,我们希望输入是来自每个数组的值,其中As得到的结果如下

结果:

1 -- 2
2 -- 3
4 -- 5
5 -- 1
4 -- 1
1 -- 1
1 -- 2
2 -- 4
3 -- 4
Array ( [0] => 1 )

正如@Nick在他的评论中提到的,以及您共享的链接声称,array_uintersect在检查intersect之前对数组进行排序

这将是以下内容的一部分:

1 -- 2 // sort first array
2 -- 3 // sort first array
4 -- 5 // sort second array
5 -- 1 // sort second array
4 -- 1 // sort second array
现在两个数组都是:$a1=[1,2,3]和$a2=[1,4,5]

现在是相交部分:

1 -- 1  // checking index 0 in both array
1 -- 2  // checking $a2[0] and $a1[1] -> 2 is bigger so let continue with him
2 -- 4  // checking $a1[1] and $a2[1] -> as we already check $a2[0] -> 4 is bigger so continue with him
3 -- 4  // checking $a1[2] and $a2[1] -> 4 is bigger but not $a1[3] so done checking 

注意,交集可以在on中完成,因为之前的排序…

不看PHP代码,我会说有两组结果,第一组是从$a1和$a2排序到4-1,第二组是从比较它们的位置。但这正是链接问题中所说的,那么你的问题是什么?@Tusifahmed我的帖子回答了你吗?谢谢你@Nick。
1 -- 1  // checking index 0 in both array
1 -- 2  // checking $a2[0] and $a1[1] -> 2 is bigger so let continue with him
2 -- 4  // checking $a1[1] and $a2[1] -> as we already check $a2[0] -> 4 is bigger so continue with him
3 -- 4  // checking $a1[2] and $a2[1] -> 4 is bigger but not $a1[3] so done checking