PHP usort не сортирует класс

Это образец массива элементов для сортировки:

$items = 
    array
      0 => 
        object(stdClass)[8]
          public 'id' => string '110' (length=3)
          public 'brand_id' => string '18' (length=2)
            array
              0 => string ' OT-708' (length=7)
          public 'failed' => null
          public 'diff' => null
      1 => 
        object(stdClass)[9]
          public 'id' => string '161' (length=3)
          public 'brand_id' => string '18' (length=2)

Итак, допустим, я хотите отсортировать по brand_id . Это моя функция обратного вызова usort:

function _compare($itemA, $itemB){

    if ($itemA->brand_id == $itemB->brand_id) {

        return 0; 
    }
    else{
        return strcmp($itemA->brand_id, $itemB->brand_id); //just an example...
    }

}

И когда я выполняю usort ($ items, '_compare'); var_dump ($ items); ничего не происходит. Есть какие-нибудь подсказки о том, как это исправить?

- ОБНОВЛЕНИЕ -

Хорошо, я упростил задачу до следующего:

function cmp($itemA, $itemB){
    return -1;
}

if (usort($items, "cmp"))
                echo 'I just sorted!';
else echo 'Cant sort!';

Он всегда печатает « Не могу сортировать! »

15
задан John 19 July 2019 в 23:53
поделиться