array_udiff的正/负返回值的目的和对字符串的使用

时间:2018-05-17 15:37:14

标签: php arrays callback array-difference

我感兴趣的是这两个对象数组中的属性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
        )
)

根据docs

  

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

在处理字符串时,如何更大或更小?

在提出这个问题之前,我修改了使用stdClass对象的docs示例#1:

function compare_by_area($a, $b) {
    ...    
    if ($areaA < $areaB) {
        return -1;
    } elseif ($areaA > $areaB) {
        return 1;
    } else {
        return 0;
    }
}

到此(注意我如何切换交换的返回符号):

function compare_by_area($a, $b) {
    ...    
    if ($areaA < $areaB) {
        return 1;
    } elseif ($areaA > $areaB) {
        return -1;
    } else {
        return 0;
    }
}

它返回了完全相同的结果。 大于或小于array_udiff()返回的回调值的影响是什么?

0 个答案:

没有答案