2016-07-12 9 views
0

ich habe ein array welches itsefl array enthält wie s ['name'] s ['age'] ich weiß nicht genau wie die struktur [oder} repräsentiert,array of array php sortierung nach 2 felder string und nummer

tab { 
     s { ['name'] 
      ['age'] 
     } 

}

es meinen Code gibt es Funktion cmp ($ a, $ b) { return strcmp ($ a [ 'name'], $ b [ 'name']); }

usort($result, "cmp"); 

foreach($result as $s) { 
    foreach($s as $t) { 
    DisplayError("antoine 20") 
    DisplayError("antoine 88") 
    DisplayError("antoine 19") 
    } 

}

Ich mag würde zuerst, dann nach Namen sortieren Alter

ich lange suchen, aber schwer

+0

Ich fand einen Trick Ich habe ein neues Array ['nameAge'] gemacht und ich benutze Funktion cmpNameAge ($ a, $ b) { return strcmp ($ a ['nameAge'], $ b ['nameAge']); } – aez

Antwort

1

Sie können diesen Komparator verwenden:

function cmp($a, $b) { 
    if ($a['name'] == $b['name']) { 
     return $a['age'] - $b['age']; 
    } 
    return strcmp($a['name'], $b['name']); 
} 

usort($arr, 'cmp');