Autor | Zpráva | ||
---|---|---|---|
sir_lamoid Profil |
#1 · Zasláno: 6. 1. 2015, 13:52:52
Zdravím,
potřeboval bych jednoduchou věc. Mám dejme tomu json [ { "idroom": 2, "id": "5", "typ": "dvere", "id-backup": "5", "coord-x": "188", "coord-y": "21", "size-w": "29", "size-h": "30", "rotation": "0" }, { "idroom": 2, "id": "6", "typ": "stul_90", "id-backup": "6", "coord-x": "103", "coord-y": "141", "size-w": "50", "size-h": "50", "rotation": "0" }, { "idroom": 2, "id": "6", "typ": "stul_90", "id-backup": "7", "coord-x": "188", "coord-y": "101", "size-w": "50", "size-h": "50", "rotation": "0" } ] A potřebuji tenhle json překopat nějákými foreach atd na tento format: [ [ { "idroom": 2, "id": "5", "typ": "dvere", "id-backup": "5", "coord-x": "188", "coord-y": "21", "size-w": "29", "size-h": "30", "rotation": "0" } ], [ { "idroom": 2, "id": "6", "typ": "stul_90", "id-backup": "6", "coord-x": "103", "coord-y": "141", "size-w": "50", "size-h": "50", "rotation": "0" }, { "idroom": 2, "id": "6", "typ": "stul_90", "id-backup": "7", "coord-x": "188", "coord-y": "101", "size-w": "50", "size-h": "50", "rotation": "0" } ] ] ala seřadit podle id do jednotlivých polí |
||
DJ Miky Profil |
#2 · Zasláno: 6. 1. 2015, 15:02:41
Pokud si JSON zparsuješ (json_decode), pak je jedna možnost např. uložit si jednotlivé objekty do dvourozměrného pole:
$novePole = []; foreach($puvodniPole as $polozka) { $id = (int) $polozka->id; if(isset($novePole[$id])) $novePole[$id][] = $polozka; else $novePole[$id] = [ $polozka ]; } array(5 => array(jeden objekt), 6 => array(dva objekty)) .
Pak už by mělo stačit ho seřadit podle klíče (ksort; to je nutné, pokud ve zdrojovém poli nejsou objekty seřazeny podle ID) a následně zbavit se klíčů (array_values). A pak převést zpět do JSON (json_encode). |
||
Časová prodleva: 9 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0