PHP常见数组排序方法小结

前端之家收集整理的这篇文章主要介绍了PHP常见数组排序方法小结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP常见数组排序方法分享给大家供大家参考,具体如下:

1.简单数组排序 sort() 函数和rsort() 函数

PHP;toolbar:false">bool sort(array &array [,int sort_flags]
bool rsort(array &array [.int_sort_flags]

参数:第一个参数是排序数组对象

第二个参数是可以选的 可选值:

SORT_REGULAR:是默认值,将自动识别数组的元素类型进行排序

SORT_NUMERIC:用于数组元素排序

SORT_STRING:用于字符串排序

SORT_LOCALE_STRING:根据当前的locale设置来把元素当作字符串比较

示例:

PHP;toolbar:false">$a=array(4,7,9,1);
sort($a);
pirnt_r($a);
rsort($a);
print_r($a);

2.根据键名对数组排序

ksort() 函数按照键名对数组进行有小到大的排序。 krsort()与ksort()函数相反,排序后为数组值保持原来的键。

示例:

"five",8=>"eight",1=>"one",7=>"seven");
ksrot($data);
print_r($data);
krsot($data);
print_r($data);

3.根据元素值排序

asort() 从小到大 arsort() 从大到小,用这个函数排序,原始键名将被忽略,使用依次数字重新索引数组下标

1,"b"=>2,"c"=>3);
asort($data);
print_r($data);
arsort($data);
print_r($data);

4.自然排序

是个非常特殊的排序方式,这种方式使用认知而不是使用计算规则,这种特性称为——自然排序法,即数字从1到9,字母从a-z,短者优先。

示例:

PHP;toolbar:false">$data=array("file1.txt","file11.txt","file111.txt");
natsort($data);//普通自然排序
natcasesort($data);//忽略大小写

5.根据用户自定义排序规则

PHP;toolbar:false">bool usort(array &array ,callback cmp_function)
bool uasort(array &array,callback cmp_function)
bool uksort(array &array,callback cmp_function)

自定义回调函数,需要两个参数,分别是数组两个连续元素,比较第一个参数小于,大于,等于第二个参数是分别返回 0,1,-1

strlen($two))?1:-1;
}

6.多维数组排序

array_multisort()函数对多个数组排序,或者根据某一维或多维对多维数组排序。

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);

输出如下:

1,"name"=>2),
 array("id"=>1,"name"=>4),
 array("id"=>2,"name"=>3)
);

希望本文所述对大家PHP程序设计有所帮助。

猜你在找的PHP相关文章