二维数组按指定的键值排序

原创:将二维数组按指定的键值排序。

  1. /*二维数组按指定的键值排序*/ 
  2. function array_sort($array,$keys,$type='asc'){ 
  3.     if(!isset($array) || !is_array($array) || empty($array)){ 
  4.         return ''
  5.     } 
  6.     if(!isset($keys) || trim($keys)==''){ 
  7.         return ''
  8.     } 
  9.     if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc','desc'))){ 
  10.         return ''
  11.     } 
  12.     $keysvalue=array(); 
  13.     foreach($array as $key=>$val){ 
  14.         $val[$keys] = str_replace('-','',$val[$keys]); 
  15.         $val[$keys] = str_replace(' ','',$val[$keys]); 
  16.         $val[$keys] = str_replace(':','',$val[$keys]); 
  17.         $keysvalue[] =$val[$keys]; 
  18.     } 
  19.     asort($keysvalue); //key值排序 
  20.     reset($keysvalue); //指针重新指向数组第一个 
  21.     foreach($keysvalue as $key=>$vals) { 
  22.         $keysort[] = $key
  23.     } 
  24.     $keysvalue = array(); 
  25.     $count=count($keysort); 
  26.     if(strtolower($type) != 'asc'){ 
  27.         for($i=$count-1; $i>=0; $i--) { 
  28.             $keysvalue[] = $array[$keysort[$i]]; 
  29.         } 
  30.     }else
  31.         for($i=0; $i<$count$i++){ 
  32.             $keysvalue[] = $array[$keysort[$i]]; 
  33.         } 
  34.     } 
  35.     return $keysvalue

例如:/*将二维数组user_array按id降序排序*/

array_sort($user_array,'id','desc');

转载请注明:代码家园 » 二维数组按指定的键值排序

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)