Php 阵列udiff和x27的用途;s正/负返回回调值并用于字符串

Php 阵列udiff和x27的用途;s正/负返回回调值并用于字符串,php,arrays,callback,array-difference,Php,Arrays,Callback,Array Difference,我感兴趣的是,属性aString在这两个对象数组中是否不同: 数组1 Array ( [0] => stdClass Object ( [aString] => two [b] => 2 ) [1] => stdClass Object ( [aString] => four [b] => 4

我感兴趣的是,属性
aString
在这两个对象数组中是否不同:

数组1

Array
(
    [0] => stdClass Object
        (
            [aString] => two
            [b] => 2
        )

    [1] => stdClass Object
        (
            [aString] => four
            [b] => 4
        )

    [2] => stdClass Object
        (
            [aString] => six
            [b] => 6
        )
)
阵列2

Array
(
    [0] => stdClass Object
        (
            [aString] => two
            [b] => 2
        )

    [1] => stdClass Object
        (
            [aString] => newfour
            [b] => 4
        )

    [2] => stdClass Object
        (
            [aString] => six
            [b] => 6
        )
)
根据:

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

处理字符串时如何确定大于或小于?

在提出这个问题之前,我修改了示例#1,该示例使用以下内容中的stdClass对象:

function compare_by_area($a, $b) {
    ...    
    if ($areaA < $areaB) {
        return -1;
    } elseif ($areaA > $areaB) {
        return 1;
    } else {
        return 0;
    }
}
按区域比较函数($a,$b){
...    
如果($A区<$B区){
返回-1;
}其他($areaA>areaB){
返回1;
}否则{
返回0;
}
}
对此(请注意我如何切换已交换的返回标志):

按区域比较函数($a,$b){
...    
如果($A区<$B区){
返回1;
}其他($areaA>areaB){
返回-1;
}否则{
返回0;
}
}

它返回了完全相同的结果大于或小于
数组的回调值的效果是什么?
返回的回调值?

@AbraCadaver Ah,因此字符串的负/正增量值是通过比较其二进制值(使用pack?)来确定的?好吧,我想这是有道理的。但是为什么
array\u udiff()
关心它是大于还是小于,而不是它对这些信息没有任何作用?但是,如果你只想看到区别,那么它是大于还是小于有什么关系?@abracadver我看到了你先前删除的注释,意识到我说它们是对象,但我指的是对象数组,编辑了这篇文章。@AbraCadaver不,不管它是大于还是小于。这有关系吗?它似乎不会,如果不会,为什么不请求true/false呢?但是由于文件允许正面和负面,我想我遗漏了一些东西。
function compare_by_area($a, $b) {
    ...    
    if ($areaA < $areaB) {
        return 1;
    } elseif ($areaA > $areaB) {
        return -1;
    } else {
        return 0;
    }
}