phpは2 D配列の要素値でソートされます


PHP 2 D配列ソート関数
PHP 1次元配列のソートはsort(),asort(),arsort()などの関数を用いることができるが,PHP 2次元配列のソートにはカスタマイズが必要である.
次の関数は、指定したキー値に従って、指定した2 D配列を並べ替えます.まず、関数定義を参照してください.01. function array_sort( $arr , $keys , $type = 'asc' ){ 02. $keysvalue = $new_array = array (); 03. foreach ( $arr as $k => $v ){ 04. $keysvalue [ $k ] = $v [ $keys ]; 05. } 06. if ( $type == 'asc' ){ 07. asort( $keysvalue ); 08. } else { 09. arsort( $keysvalue ); 10. } 11. reset( $keysvalue ); 12. foreach ( $keysvalue as $k => $v ){ 13. $new_array [ $k ] = $arr [ $k ]; 14. } 15. return $new_array ; 16. }
2 D配列は、指定したキー値でソートするか、昇順または降順のソート方法(デフォルトは昇順)を指定できます.使用例:01. $array = array ( 02. array ( 'name' => ' ' , 'brand' => ' ' , 'price' =>1050), 03. array ( 'name' => ' ' , 'brand' => 'lenovo' , 'price' =>4300), 04. array ( 'name' => ' ' , 'brand' => ' ' , 'price' =>3100), 05. array ( 'name' => ' ' , 'brand' => ' ' , 'price' =>4900), 06. array ( 'name' => ' ' , 'brand' => ' ' , 'price' =>960), 07. array ( 'name' => ' ' , 'brand' => ' ' , 'price' =>6299), 08. array ( 'name' => ' ' , 'brand' => ' ' , 'price' =>1200) 09. ); 10. 11. $ShoppingList = array_sort( $array , 'price' ); 12. print_r( $ShoppingList );
上は$arrayという2次元配列を「price」に従って低いものから高いものに並べ替えたものです.
出力結果:(略).
詳細:http://www.cnblogs.com/tjmsz/archive/2011/11/10/2244231.html