Это пример массива элементов для сортировки:
$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!';
Он всегда печатает 'Cort sort!'
usort
или$items
? потому чтоusort
возвращает bool только в случае успеха / false в противном случае. - person GWW   schedule 21.06.2011if (usort($items, "cmp"))
, а НЕif (usort(items, "cmp"))
, верно? - person insumity   schedule 21.06.2011var_dump($items);
доusort
? Он что-нибудь показывает? Или вы не могли бы показать нам больше вашего кода? - person insumity   schedule 21.06.2011