Php 它返回0、1或-1的方式会影响数组_udiff_assoc()的最终结果

Php 它返回0、1或-1的方式会影响数组_udiff_assoc()的最终结果,php,arrays,Php,Arrays,我知道它是什么,它做什么,但我不明白它是如何与“宇宙飞船操作员”一起工作的 我目前正在为Spatiale/laravel activitylog开发一些功能,完成所有繁重工作的主要功能是与上述太空船操作员一起使用的array\u udiff\u assoc() 我的问题是它返回0、1或-1是如何影响最终结果的,即使是在其他数组函数中,如_diff或_intersect?这太让人困惑了,我只是在这里问,因为我浪费了很多时间在网上搜索,没有任何结果。比较两个值,并根据这两个值返回一个整数。输出整数为

我知道它是什么,它做什么,但我不明白它是如何与“宇宙飞船操作员”一起工作的

我目前正在为Spatiale/laravel activitylog开发一些功能,完成所有繁重工作的主要功能是与上述太空船操作员一起使用的
array\u udiff\u assoc()

我的问题是它返回0、1或-1是如何影响最终结果的,即使是在其他数组函数中,如_diff或_intersect?这太让人困惑了,我只是在这里问,因为我浪费了很多时间在网上搜索,没有任何结果。

比较两个值,并根据这两个值返回一个整数。输出整数为:

  • 如果两个值相等,则为0
  • -如果第一个值小于第二个值,则为1
  • 1如果第一个值大于第二个值
echo 1;//0
回声12;//-1.
回声2 1;//1.
该函数使用spaceship操作符查看值是否相等。特别是 传递给它的最后一个参数类似于
回调(mixed$a,mixed$b):int
。结果整数必须为:

  • 如果
    $a
    等于
    $b
  • -如果
    $a
    小于
    $b
  • 如果
    $a
    大于
    $b
这些规则与宇宙飞船操作员的行为完全相符。因此,在这里使用运算符将导致很少的代码执行相对较多的工作

旁注:因为这个函数只检查差异,所以只有回调返回相等或不相等才真正重要。大于或小于部分并不重要,因为它们都会被过滤掉

echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1