Сортировка большого объекта JSON с меньшим объектом JSON в переполнении стека

До того, как начались крики «DUPLICATE», я использовал несколько постов здесь и в других местах в качестве руководящих указаний в попытке решить эту проблему, и они проделали длинный путь, но я застрял на последнем шаге.

У меня есть объект JSON, который углубляется в пять. Этот объект используется для заполнения таблицы на веб-странице. Каждый элемент в таблице имеет счет от 0 до 100, но они просто случайно попадают в таблицу. Я хочу, чтобы они выглядели отсортированными с самыми низкими баллами наверху.

Что я сделал:

$jarr = json_decode($json, true);
$marr = $jarr['g'];

foreach ($marr as $key => $row){
$score[$key] = $row['score'];
$component[$key] = $row[$key];
}

array_multisort($score, SORT_ASC, $component, SORT_STRING, $marr);
print_r($marr);

Причина: меньший объект «g» представляет собой массив ассоциативных массивов внутри большего JSON-объекта и является единственным, который действительно должен быть отсортирован, поэтому я оперировал только этой частью и получил функциональный код.

Когда я поместил этот фрагмент в исходный код, он не сломал страницу, но я получил только результаты оценки; Мне также нужна вся другая информация внутри нижних массивов. Я попытался применить логику к большему объекту JSON, но это ничего не сделало (здесь может быть просто ошибка пользователя), и я попытался отсортировать меньший объект и напечатать более крупный.

Как я могу вернуть весь объект JSON с отсортированным объектом ‘g’?

Изменить: я обнаружил, что часть проблемы заключается в том, что исходный код не превращает JSON в массив, где мой фрагмент кода. Это объясняет, почему они не совместимы, но все еще заставляет меня пытаться заставить сортировку работать.

-1

Решение

Этот код делает то, что мне нужно. Последний шаг состоял в том, чтобы просто привести полученный массив как объект и убедиться, что код Smarty ссылается на все правильно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector