array_multisort — 複数の多次元の配列をソートするの
「例3 データベースの結果をソートする」が理解できない。悔しいやら情けないやら。
$ar1=array("name"=>"サヨナラダンス","bpm"=>127);
$ar2=array("name"=>"ハローグッバイ","bpm"=>88);
$ar3=array("name"=>"WAGON","bpm"=>131);
$data=array($ar1,$ar2,$ar3);
print_r($data);
foreach ($data as $key => $row) {
$name[$key] = $row['name'];
$bpm[$key] = $row['bpm'];
}
array_multisort($bpm,SORT_DESC,$data);
print_r($data);
//ソート前 Array ( [0] => Array ( [name] => サヨナラダンス [bpm] => 127 ) [1] => Array ( [name] => ハローグッバイ [bpm] => 88 ) [2] => Array ( [name] => WAGON [bpm] => 131 ) ) //ソート後 Array ( [0] => Array ( [name] => WAGON [bpm] => 131 ) [1] => Array ( [name] => サヨナラダンス [bpm] => 127 ) [2] => Array ( [name] => ハローグッバイ [bpm] => 88 ) )
「こうゆうものだ」って覚えるようなものじゃない気がするんだよなぁ。
foreachとセットでしか多次元の連想配列はソート出来ないのかな。
関連記事かもしれん:
- 新しい記事:bin2hexと書こうとするとbin22hexに変換される。
- 古い記事:パスがシェイプで、シェイプがパスで。