| 
       以前我们有讲过各种php数组排序的方法,同时php也提供了大量的数据排序函数,sort(),asort(),arsort()等,下面我来给各位同学介绍二维数组按指定的键值排序的方法,具体实例代码如下: 
	
	-  
 
	- function array_sort($array,$keys,$type='asc'){ 
 
	-  if(!isset($array) || !is_array($array) || emptyempty($array)){ 
 
	-   return ''; 
 
	-  } 
 
	-  if(!isset($keys) || trim($keys)==''){ 
 
	-   return ''; 
 
	-  } 
 
	-  if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc','desc'))){ 
 
	-   return ''; 
 
	-  } 
 
	-  $keysvalue=array(); 
 
	-  foreach($array as $key=>$val){ 
 
	-   $val[$keys] = str_replace('-','',$val[$keys]); 
 
	-   $val[$keys] = str_replace(' ','',$val[$keys]); 
 
	-   $val[$keys] = str_replace(':','',$val[$keys]); 
 
	-   $keysvalue[] =$val[$keys]; 
 
	-  } 
 
	-  asort($keysvalue);  
 
	-  reset($keysvalue);  
 
	-  foreach($keysvalue as $key=>$vals) { 
 
	-   $keysort[] = $key; 
 
	-  } 
 
	-  $keysvalue = array(); 
 
	-  $count=count($keysort); 
 
	-  if(strtolower($type) != 'asc'){ 
 
	-   for($i=$count-1; $i>=0; $i--) { 
 
	-    $keysvalue[] = $array[$keysort[$i]]; 
 
	-   } 
 
	-  }else{ 
 
	-   for($i=0; $i<$count; $i++){ 
 
	-    $keysvalue[] = $array[$keysort[$i]]; 
 
	-   } 
 
	-  } 
 
	-  return $keysvalue; 
 
	- } 
 
	 
 
使用方法,代码如下: 
	
	- $a=array( 
 
	- 1=>array( 
 
	- id=>1, 
 
	- price=>'79', 
 
	- ), 
 
	- 2=>array( 
 
	- id=>1, 
 
	- price=>'68', 
 
	- ), 
 
	- ); 
 
	 
 
就使用:array_sort($a,'price'); 
php数组排序函数 
sort  (&$arr[,fruits])  对数组进行从低到高排序,并赋予新的键名 返回bool 
rsort  (&$arr[,fruits]) 对数组进行逆向排序,并赋予新的键名 
asort (&$arr[,fruits]) 对数组进行排序,并保持索引不变 
arsort(&$arr[,fruits]) 对数组进行逆向排序,并保持索引不变 
ksort (&$arr [,fruits]) 对数组按照键名进行排序 
krsort(&$arr [,fruits]) 对组数按照键名进行逆向排序 
natsort(&$arr)  对数组键值进行‘自然排序法’按照长度,字母排序等 
natcasesort(&$arr) 对数组进行不区分大小写的‘自然排名’ 
usort (&$arr,cmp_function ) 用户自定义函数对一个数组进行排序,重新排列键名 
uksort (&$arr,cmp_function ) 用户自定义函数对一个数组进行键名排序 
uasort (&$arr,cmp_function) 用户自定义函数对数组进行排序 并保持索引不变 
array_multisort($arr,mixed) 第二个参数是可以根据值改变排序行为 
SORT_REGULAR 正常比较单元 SORT_NUMERIC 单元被作为数字来比较  
SORT_STRING 单元被作为字符串来比较 SROT_LOCALE_STRING 根据当前的local 设置来把单元当做字符串比较 
      
      (责任编辑:admin) |