2016-07-12 12 views
0

私は[[name '] s [' age ']のようにitsefl配列を含む配列を持っています どのように構造[配列の配列を2つのフィールドで並べ替える文字列と数字

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

}

それは私のコード 関数CMP($、$ b)は { 戻りのstrcmp($ [ '名前']は、$ B [ '名前が'])があります。 }

usort($result, "cmp"); 

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

}

私は、私はあなたがこのコンパレータを使用することができます長い時間が、難しい

+0

私は新しい配列['nameAge']を実行し、関数cmpNameAge($ a、 $ strcmp($ a ['nameAge']、$ b ['nameAge']); $ strcmp($ a ['nameAge']、$ b ['nameAge']); } – aez

答えて

1

を検索歳

その名前で最初の並べ替えしたいと思います:

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

usort($arr, 'cmp'); 
関連する問題