• ベストアンサー

PHP 配列の並べ替え

phpでの配列操作に関して質問です。 配列 $fruit[]の中に [0]→{[name]りんご,[value]5} [1]→{[name]みかん,[value]6} [2]→{[name]メロン,[value]0} [3]→{[name]いちご,[value]1} [4]→{[name]ぶどう,[value]5} このようなデータが入っていたとして、 [value]の大きい順に並べ替えをしたいのですが、 どのような方法を行えば良いのでしょうか? 多分とても基礎的な問題だと思うのですが、 どうしても良い方法が思いつかないので、 どうぞ宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.1

ゆるっと書いてみましたが、なんか もっと良い書き方あるかもしれません。(´・ω・`) 二次元配列のソートの仕方忘れました。 <?php $f = array( 0 => array(name=> りんご, value=> 5) , 1 => array(name=> みかん, value=> 6) , 2 => array(name=> メロン, value=> 0) , 3 => array(name=> いちご, value=> 1) , 4 => array(name=> ぶどう, value=> 5)); print_r($f); uasort($f , cmp); function cmp($a , $b) { return ($a[value]<$b[value]); } print_r($f); ?> http://www.php.net/manual/ja/function.uasort.php

non05410
質問者

お礼

uasortの使用方法はうまくわからなかったのですが、 「二次元配列のソート」という言葉を提示して頂いたおかげで解決しました! foreach($fruit as $key => $row){ $count[$key] = $row['name']; } array_multisort($count,SORT_DESC,$fruit); 上記の方法でソートすることが出来ました! ありがとうございます!

関連するQ&A