您需要準備首先排序的陣列。然後排序然後通過引用進行排序,允許您第二次遍歷它,但這次按array_multisort()
排序。
<?php
foreach($jsonObj as $items) {
foreach($items['items'] as $key => $itemlist) {
$positions[$key] = $itemlist['position'];
$names[$key] = $itemlist['name'];
}
array_multisort($positions, SORT_ASC, $items['items']);
foreach($items['items'] as $itemlist) {
echo $itemlist['name'], "<br />";
// Now in asc order of positions
}
}
這樣做的好處是,如果其他屬性出現,你想排序你可以做到這一點。例如,如果有一個機會,「位置」將是兩個人是相同的,然後你可以按字母順序排序他們的名字等等。
鍵盤背後
完整的解決方案,兩個答案相比: http://codepad.viper-7.com/5yJ72S
前第二次嘗試此foreach循環排序($ items [「items」]); – 2013-04-04 09:44:14
我明白我必須使用某種排序。舉一個例子。我不明白的是在打印之前我沒有排序。 – 2013-04-04 09:44:42
我不太確定我關注。 如果您沒有陣列,首先要如何打印它? – 2013-04-04 09:45:47