これ何て呼びますか

usortで3項目で昇順と降順でソートしたいのですが、いろいろ検索して読んでみたのですが、単純なソートしか掲載されてなく、わかりませんでした。できればロジックで、お願いします。

$aryData=array
(0=>array('corp'=>'corp01', 'date'=>'11-01','item'=>'item03'),
(1=>array('corp'=>'corp02', 'date'=>'11-05','item'=>'item02'),
(2=>array('corp'=>'corp01', 'date'=>'11-05','item'=>'item02'),
(3=>array('corp'=>'corp03', 'date'=>'11-01','item'=>'item01'),
(3=>array('corp'=>'corp02', 'date'=>'11-01','item'=>'item01'),・・・);

を例えが変ですが、itemを昇順、dateを降順、corpを昇順の順でソートをするとしたら、どのように記述すれば宜しいのですか。

A 回答 (2件)

function cmp($a, $b) {


if ($d = strcmp($a['item'], $b['item'])) {
return $d;
} elseif($d = strcmp($b['date'], $a['date'])) {
return $d;
} elseif($d = strcmp($a['corp'], $b['corp'])) {
return $d;
}
return 0;
}

usort($aryData, "cmp");

こんな感じになるんじゃないでしょうか。
    • good
    • 0
この回答へのお礼

お返事が遅くなりましたが、できました。
複数条件の場合の意味合いも理解できたつもりです。
有難う御座いました。

お礼日時:2007/12/06 09:14

まにゅある array_multisort()


http://jp2.php.net/array_multisort

これでは駄目でしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!