2015-02-27 2 views
0

Может ли кто-нибудь научить меня группировать данные JSON в соответствии с ключевым значением, данным в данных. Здесь я приведу пример ниже.Как группировать данные JSON с использованием значения ключа identicel?

У меня есть следующие данные JSON.

$print = '{"Table":[ 
{"Column":2,"Length":1,"Number":"A4","Row":12}, 
{"Column":2,"Length":1,"Number":"A3","Row":11}, 
{"Column":2,"Length":1,"Number":"A2","Row":9}, 
{"Column":2,"Length":1,"Number":"A1","Row":8}, 
{"Column":3,"Length":1,"Number":"B4","Row":12}, 
{"Column":3,"Length":1,"Number":"B3","Row":11}, 
{"Column":3,"Length":1,"Number":"B2","Row":9}, 
{"Column":3,"Length":1,"Number":"B1","Row":8}],"ResponseStatus":200,"Message":null}'; 

Я хочу сгруппировать эти данные в соответствии со значением «Row», как указано ниже.

$print = '{"Table":[ 
{"Column":2,"Length":1,"Number":"A4","Row":12}, 
{"Column":3,"Length":1,"Number":"B4","Row":12}, 
{"Column":2,"Length":1,"Number":"A3","Row":11}, 
{"Column":3,"Length":1,"Number":"B3","Row":11}, 
{"Column":2,"Length":1,"Number":"A2","Row":9}, 
{"Column":3,"Length":1,"Number":"B2","Row":9}, 
{"Column":2,"Length":1,"Number":"A1","Row":8}, 
{"Column":3,"Length":1,"Number":"B1","Row":8}],"ResponseStatus":200,"Message":null}'; 

Я много раз искал много раз в течение нескольких часов, но я не мог найти решение для этого. Я хочу сгруппировать это в PHP. Пожалуйста, помогите мне решить эту проблему. Заранее спасибо.

+0

возможно дубликат [JQuery: Сортировка JSON по значениям] (http://stackoverflow.com/questions/881510/jquery-sorting-json-by-values) – showdev

ответ

1
$json = json_decode($print, true); 
usort($json['Table'], function($a, $b) { return $a['Row'] < $b['Row']; }); 
$print = json_encode($json); 
+0

Большое спасибо за ценную информацию. Это отлично работает для выше, но когда я реализую его с большими данными JSON, «Колонка не устроена должным образом. Я хочу, чтобы вещи выглядели следующим образом: –

+0

Пожалуйста, помогите мне с кодом, который сортирует« Строка »в порядке убывания и« Столбец »по возрастанию как показано ниже: –

+0

$ print = '{"Таблица": [ {"Column": 2, "Length": 1, "Number": "A4", "Row": 12}, {"Column" : 3, «Длина»: 1, «Число»: «B4», «Строка»: 12}, {«Колонка»: 4, «Длина»: 1, «Число»: «C4», «Строка»: 12}, {«Колонка»: 5, «Длина»: 1, «Число»: «D4», «Строка»: 12}, {«Столбец»: 6, «Длина»: 1, «Число»: «E4», «Row»: 12}, {«Колонка»: 7, «Длина»: 1, «Число»: «F4», «Строка»: 12}, {«Столбец»: 8, «Длина ": 1," Number ":" G4 "," Row ": 12}, {" Column ": 9," Length ": 1," Number ":" H4 "," Row ": 12}, {«Столбец»: 10, «Длина»: 1, «Число»: «I4», «Строка»: 12}, {«Столбец»: 11, «Длина»: 1, «Число»: «J4» , «Строка»: 12}, {«Столбец»: 12, «Длина»: 1, «Число»: «К4», «Строка»: 12}]} '; –

Смежные вопросы