2017-03-04 115 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 > = –