2017-03-04 46 views
1

我試圖解決這個數組由名稱,但功能我寫不工作在第三維數組排序

{ 
"response": { 
    "game_count": 175, 
    "games": [ 
     { 
      "appid": 4000, 
      "name": "Garry's Mod", 
      "playtime_forever": 4040, 
      "img_icon_url": "4a6f25cfa2426445d0d9d6e233408de4d371ce8b", 
      "img_logo_url": "93c9364c3942223ab66195182fe1982af8a16584", 
      "has_community_visible_stats": true 
     }, 

的名字,這是第三級

我嘗試排序:

function val_sort($array,$key) { 

foreach($array as $k=>$v=>$g){ 
    $b[] = strtolower($v[$key]); 
    } 
SORT_ASC($b); 
foreach($b as $k=>$g=>$v) { 
    $c[] = $array[$k]; 
} 

return $c; 
} 
$sorted = val_sort($array, 'name'); 

但這沒有爲我工作。 我希望你能幫助我^^

回答

0

使用結合一個foreach與usort:

foreach ($yourArray["response"] as $key => &$subarray) { 
    usort($subarray, function($a, $b) { 
    return $a['name'] <= $b['name']; 
    }); 
} 
print_r($yourArray); //now it's sorted 
+0

感謝您的快速答覆!它的工作,但我不得不將功能($ a,$ b)切換到功能($ b,$ a)。它被排序錯誤的方式所以是 – Tolkosino

+0

很高興我能幫忙,你也可以改變<= to > = –