
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を昇順の順でソートをするとしたら、どのように記述すれば宜しいのですか。
No.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");
こんな感じになるんじゃないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
composerをインストールしたい...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
【初心者】XAMPPのapacheの(恐...
-
phpのクラスメソッドの定義が長...
-
ファイルアップロードの上限を...
-
$_SESSIONについて教えて下さい。
-
Postgresの特定のカラムからス...
-
画像ファイルの名前をそのままU...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
SplFileObject を利用したとき...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンメニューにDBの内容...
-
空フィールドが表示されない
-
NGワード設定もしくはテキス...
-
PHPで ?seq= の後に続く数に応...
-
大切なPHP用語
-
HTTPのメッセージボディについ...
-
占いのPHPを作成中ですが・・・
-
XML_Serializerで複数のXMLの扱い
-
preg_replaceでの警告
-
多次元配列のカウント+1の仕方
-
二次元配列のソート方法がわか...
-
" "を省く方法を教えてください
-
phpとmysqlで「あいまい検索」...
-
PHP array関数の[ ]内の値の表示
-
usortで3つの項目を昇順・降順...
-
PEAR・MDB2のモジュールロード...
-
pg_insertで現在の時刻を挿入す...
-
functionを定義したつもりが、...
-
cakephp2.6でfindを使い合計値...
-
外部のテキストファイルを読み...
おすすめ情報