Есть Json, нужно отсортировать по num.
$str = '{
"cb":[
{
"name":"cb",
"num":0
},
{
"name":"cb2",
"num":7
},
{
"name":"cbRed",
"num":3
}
]
} ';
$data = json_decode($str, true);
usort($data, function($a, $b) {
return $a->cb->num < $b->cb->num ? -1 : 1;
});
print_r($data);
в своем коде вы делаете несколько ошибок. Во-первых, вам надо отсортировать $data['cb']
, а вы сортируете сам массив $data
.
Во-вторых, вы десериализуете json в массив, а в сортировке обращатесь к нему как к объекту, а не массиву.
Так что ваш код следует исправить следующим образом
usort($data['cb'], function($a, $b) {.
return $a['num'] - $b['num'];
});.
что касается возврата значения из функции-компаратора, то не обязательно возвращать -1/1
. достаточно вернуть отрицательно/положительное значение. Так что проще всего вернуть разность значений. В пхп7 также был введен оператор <=>
Виртуальный выделенный сервер (VDS) становится отличным выбором
В коде, в цикле я задаю уникальные idНо они начинаются повторяться в БД, из-за неверных функций
Есть код, который отрабатывает ответы на запросы к API и там есть такой участок:
Есть сайт на wordpress с установленным плагином WP Hide PostЕсть необходимость переноса сайта на новый хостинг, но решил перестраховаться и проверить...