Начиная с php 7, вы можете использовать оператор космического корабля в функции сравнения.
Я только что проверил его с помощью приведенного ниже кода, и он работал так, как вы и ожидали, без каких-либо необходимо сделать регистр единообразным.
Примечание. Я только что создал массив из stdClass
объектов путем приведения массивов.
$objArr = [
(Object) [
'id' => '1176',
'value' => 'Oranges',
],
(Object) [
'id' => '1178',
'value' => 'Bananas',
],
(Object) [
'id' => '1179',
'value' => 'grapes',
],
];
usort($objArr, function($a, $b) {
// use return $b->value <=> $a->value;
// to reverse order
return $a->value <=> $b->value;
});
, что приводит к следующему:
print_r($objArr);
Array
(
[0] => stdClass Object
(
[id] => 1178
[value] => Bananas
)
[1] => stdClass Object
(
[id] => 1176
[value] => Oranges
)
[2] => stdClass Object
(
[id] => 1179
[value] => grapes
)
)
Полезно, если дело касается проблемы (т. Е. Сортировать виноград и виноград).