2011-06-23 72 views
5

有人可以幫我一些PHP請。PHP:如何顛倒JSON數組

原始代碼〜有效,但輸出順序錯誤。 所以我需要REVERSE JSON數組的順序/順序。

但是,當我試圖逆轉與PHP(提取物)下面的代碼序列:

$json = file_get_contents($url,0,null,null); 
$tmp = json_decode($json, true); // using a temp variable for testing 
$result = array_reverse($tmp);  // <--new line to reverse the arrray 

foreach ($result['data'] as $event) { 
    echo '<div>'.$event['name'].'</div>'; 

它不反向輸出序列。

我在做什麼錯? 有沒有更好的方法?

PS - 我可以在Javascript中完成,但我需要在服務器端完成。

回答

6

你做了逆轉,但在錯誤的領域。你想扭轉data領域而非陣列:

$json = file_get_contents($url,0,null,null); 
$tmp = json_decode($json, true); // using a temp variable for testing 
$result = $tmp; 
$result['data'] = array_reverse($result['data']); 

foreach ($result['data'] as $event) { 
    echo '<div>'.$event['name'].'</div>'; 
+0

在所有的閱讀中,我確實沒有人解釋它,以及你輝煌 - 謝謝。 @hakre – user801347

4

你需要扭轉$tmp['data']陣列的內容,而不是$tmp本身。

$json = file_get_contents($url); 
$tmp = json_decode($json, true); 
$result = array_reverse($tmp['data']); 

unset($tmp); 

foreach ($result as $event) { 
    echo '<div>'.$event['name'].'</div>'; 
} 
+0

良好的視線..... – dynamic