/*- $array_name: 受信配列;
- $row_id: 並べ替える配列内の項目;
- $order_type: 並べ替え方法、ASC または DESC; function array_sort($ array_name,$row_id,$order_type){
- $array_temp=array();
- foreach($array_name as $key=>$value){//1 レベルをループします;
- $array_temp[$key]= $value[$ row_id];//新しい 1 次元配列を作成します。インデックス値は 2 次元配列のインデックス値を使用します。値は 2 次元配列で比較される項目の値です。 }
- if ($order_type==="ASC"){
- asort($array_temp);
- }else{
- arsort($array_temp);
- }
- $result_array=array();
- foreach($array_temp as $key =>$value){//フィルターされた配列 Traverse;
- $result_array[]=$array_name[$key];//新しい結果配列を作成し、元の配列のキー値の順序を変更して結果配列に割り当てます(元の配列は変更されません);
- }
- return $result_array ;
- }
- //以下は test
- $arr=array(array('num'=>7,'value'=>4),
- array('num'=>3,'value'=>45),
- array('num'=>38,'value'=>27));
- $sortarr=array_sort($arr, 'value','ASC');
- print_r($sortarr)
- ?>
-
-
- コードをコピー
-
|