sort()
函数和rsort()
函数:语法规则:
bool sort(array &array [,int sort_flags]bool rsort(array &array [.int_sort_flags]
参数:
第一个参数是排序数组对象
第二个参数是可以选的 可选值:
SORT_REGulAR:是默认值,将自动识别数组的元素类型进行排序
SORT_NUMERIC:用于数组元素排序
SORT_STRING:用于字符串排序
SORT_LOCALE_STRING:根据当前的locale设置来把元素当作字符串比较
示例:
$a=array(4,7,9,1);sort($a);pirnt_r($a);rsort($a);print_r($a);2.根据键名对数组排序
定义: ksort()
函数按照键名对数组进行有小到大的排序。 krsort()
与ksort()
函数相反,排序后为数组值保持原来的键。
示例
$data= array(5=>"five",8=>"eight",1=>"one",7=>"seven");ksrot($data);print_r($data);krsot($data);print_r($data);3.根据元素值排序
定义 : asort()
从小到大 / arsort()
从大到小,用这个函数排序,原始键名将被忽略,使用依次数字重新索引数组下标
示例 :
$data=array("a"=>1,"b"=>2,"c"=>3);asort($data);print_r($data);arsort($data);print_r($data);4.自然排序
定义 : 是个非常特殊的排序方式,这种方式使用认知而不是使用计算规则,这种特性称为——自然排序法,即数字从1到9,字母从a-z,短者优先。
示例 :
$data=array("file1.txt","file11.txt","file111.txt");natsort($data);//普通自然排序natcasesort($data);//忽略大小写5.根据用户自定义排序规则
语法规则 :
bool usort(array &array ,callback cmp_function)bool uasort(array &array,callback cmp_function)bool uksort(array &array,callback cmp_function)
说明 : 自定义回调函数,需要两个参数,分别是数组两个连续元素,比较第一个参数小于,大于,等于第二个参数是分别返回 0,1,-1
示例 :
$data= array("ab","abc","a","ac","abcd");usrot($data,"mysortByLen");function mysortByLen($one,$two){ if(strlen($one)== strlen($two)){ return 0; }else{ return (strlen($one)>strlen($two))?1:-1;}6.多维数组排序
定义 : array_multisort()
函数对多个数组排序,或者根据某一维或多维对多维数组排序。
bool array_multisort(array array1 [,mixed arg,[,array ....]])
示例:
$data=array( array("ID"=>1,"name"=>4), array("ID"=>1,"name"=>2), array("ID"=>2,"name"=>3));foreach($data as $key=>$value){ $IDs[$key]=$value["ID"]; $names[$key]=$value["name"]}array_multisort($data,$IDs,$names);print_r($data);
输出结果:
array( array("ID"=>1,"name"=>2), array("ID"=>1,"name"=>4), array("ID"=>2,"name"=>3) );
推荐:《PHP视频教程》 总结
以上是内存溢出为你收集整理的PHP常见数组排序方法小汇总全部内容,希望文章能够帮你解决PHP常见数组排序方法小汇总所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)