Назначение положительного / отрицательного возвращенного значения обратного вызова array_udiff и использование в строках - PullRequest
0 голосов
/ 17 мая 2018

Меня интересует, отличается ли свойство 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 Пример # 1, который использует объекты stdClass из этого:

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()?

...