php对数组排序代码,PHP排序函数sort
分类:微服架构

本文实例讲述了php通过sort()函数给数组排序的方法。分享给大家供大家参考。具体分析如下:

php对数组排序,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

在php中自带了大量了数组排序函数,下面我们一一来介绍一下关于php数组排序的用法吧。

sort()函数用于给数组排序,本函数为数组中的单元赋予新的键名。原有的键名将被删除。
如果成功则返回 TRUE,否则返回 FALSE。

对数组排序

 

$alpha = array ("x", "a", "f", "c");
sort( $alpha );

foreach ( $alpha as $var ) {
 print "$var
";
}
  1. usort() 函数使用用户自定义的函数对数组排序。  
  2. */  
  3. function cmp($a, $b) //用户自定义回调函数  
  4. {  
  5. if($a==$b) //如果两个参数相等  
  6. {  
  7. return 0; //返回0  
  8. }  
  9. return($a>$b)?-1:1; //如果第1个参数大于第2个返回1,否则-1  
  10. }  
  11. $a=array(3,2,5,6,1); //定义一个数组  
  12. usort ($a,"cmp"); //使用自定义函数对数组排序  
  13. foreach($a as $key=>$value) //循环输出排序后的键值对  
  14. {  
  15. echo "$key:$valuen";  
  16. }  
  17. /* 
  18. 注释:如果两个元素比较结果相同,则它们在排序后的数组中的顺序未经定义。到 php 4.0.6 之前,用户自定义函数将保留这些元素的原有顺序。但是由于在 4.1.0 中引进了新的排序算法,结果将不是这样了,因为对此没有一个有效的解决方案。 
  19. */  
  20.   
  21. //对数组键名排序 uksort(array,sorttype)  
  22. function cmp($a, $b) //用户自定义回调函数  
  23. {  
  24. if($a==$b) //如果两个参数相等  
  25. {  
  26. return 0; //返回0  
  27. }  
  28. return($a>$b)?-1:1; //如果第1个参数大于第2个返回1,否则-1  
  29. }  
  30. $a=array(4=>"four",3 =>"three",20 =>"twenty",10=>"ten"); //定义一个数组  
  31. uksort ($a,"cmp"); //使用自定义函数对数组键名排序  
  32. foreach($a as $key=>$value) //循环输出排序后的键值对  
  33. {  
  34. echo "$key:$valuen";  
  35. }/* 
  36. uksort() 函数使用用户自定义的比较函数按照键名对数组排序,并保持索引关系。 
  37.  
  38. 如果成功则返回 true,否则返回 false。 
  39.  
  40. 如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。 
  41.  
  42.  
  43. 自定义函数应接受两个参数,该参数将被数组中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。 
  44. */  
  45.   
  46. /* 
  47. sort() 函数按升序对给定数组的值排序。 
  48.  
  49. 注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。 
  50.  
  51. 如果成功则返回 true,否则返回 false。 
  52.  
  53. */  
  54.   
  55. $fruits=array("lemon","orange","banana","apple"); //定义一个数组  
  56. sort($fruits); //对数组进行排序  
  57. foreach($fruits as $key=>$val) //循环输出数组排序后的键值对  
  58. {  
  59. echo "$key=$valn"; //输出键值对  
  60. }  

sort() 函数用于对数组单元从低到高进行排序。
rsort() 函数用于对数组单元从高到低进行排序。
asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
ksort() 函数用于对数组单元按照键名从低到高进行排序。
krsort() 函数用于对数组单元按照键名从高到低进行排序。

范例2

您可能感兴趣的文章:
PHP二维数组排序的函数
php二维数组排序(实例)
php数组排序的几个函数(附实例)
PHP数组排序方法总结(收藏)
php 二维数组排序的两个例子
php 数组排序实例分享(多种排序方式)
php数组排序之krsort与asort函数应用举例
php 数组排序(升序、降序及相关问题)
php 数组排序的例子(不用内置函数)
php 简单数组排序的方法
php多维数组排序的例子
php二维数组排序的两种方法
php多维数组排序

sort()

 "Dog", "b" => "Cat", "c" => "Horse");
sort($my_array);
print_r($my_array);
?>

PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。
语法:
bool sort( array &array [, int sort_flags] )
可选参数 sort_flags 用于改变排序的行为:
sort_flags 取值 说明
SORT_REGULAR 正常比较单元
SORT_NUMERIC 单元被作为数字来比较
SORT_STRING 单元被作为字符串来比较
SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

返回结果

例子:

Array
(
[0] => Cat
[1] => Dog
[2] => Horse
)
$arr = array("b", "a", "c");
sort($arr);
print_r($arr);
?>

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

Array ( [0] => a [1] => b [2] => c )

在本例中, $arr 数组单元被按照字母顺序排序,而数组单元经过排序后,键值重新分配。

rsort()
PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

asort()
PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。
语法:
bool asort( array &array [, int sort_flags] )
可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。

例子:

$arr = array("b", "a", "c");
asort($arr);
print_r($arr);
?>

运行该例子输出:

Array ( [1] => a [0] => b [2] => c )

arsort()

PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

ksort()

PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。
本函数会保留原来的键名,因此常用于关联数组。

语法:
bool ksort( array &array [, int sort_flags] )

可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。
例子:

$arr = array("b"=>18, "a"=>20, "c"=>25);
ksort($arr);
print_r($arr);
?>

运行该例子输出:

Array ( [a] => 20 [b] => 18 => 25 )

krsort()
PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用

本文由10bet手机官网发布于微服架构,转载请注明出处:php对数组排序代码,PHP排序函数sort

上一篇:php数组降序,给关联数组按照值排序的方法 下一篇:没有了
猜你喜欢
热门排行
精彩图文