老鸟谈PHP数组排序


  本文标签:PHP数组排序

  PHP还是比较常用的,于是我研究了一下PHP数组排序,在这里拿出来和大家分享一下,希望对大家有用  。在了解了usort自定义排序后,我们再来看看sort(),这个函数可谓是数组里的排序函数的鼻祖,大家肯定发现所有的PHP数组排序函数都会带有sort作为后缀  。函数原型:bool sort ( array &array [, int sort_flags] )说明:基本上每个函数都会有个可选的参数,sort也不例外  。这个可选参数指明的一种习惯  。

  可选类型有如下几种:
◆SORT_REGULAR – 正常比较单元(不改变类型) //按照ASCII值排序(B大于a)
◆SORT_NUMERIC – 单元被作为数字来比较 //对整数和浮点数常用这种参数
◆SORT_STRING – 单元被作为字符串来比较
◆SORT_LOCALE_STRING – 根据当前的区域(locale)设置来把单元当作字符串比较

  还是看个例子,来自帮助手册:

  1. php 
  2. $fruits = array("lemon", "orange", "banana", "apple");  
  3. sort($fruits);  
  4. foreach ($fruits as $key => $val) {  
  5. echo "fruits[".$key."] = " . $val . "\n";  
  6. }  
  7. ?> 

  这个PHP数组排序的结果如下:

  1. fruits[0] = apple  
  2. fruits[1] = banana  
  3. fruits[2] = lemon  
  4. fruits[3] = orange 

  大家可以发现,原来是索引为0的lemon,再排序后就变成了apple  。为了保持原来的键/值不变,你可以把sort()换成asort()即可  。另外这两个函数是对键进行升序的排列(a在b的前面)  。如果要使其进行降序,只要使用rsort()代替即可,相对应的arsort()是保持原来的键/值的相关联性的  。

  下面简要介绍下ksort()函数

  

  • APC方法实现PHP上传多个文件原理剖析
  • 新手必看PHP上传文件进度全面揭秘
  • 大师笔记之PHP上传文件代码
  • 经验之谈PHP数组函数总结
  • 深入学习PHP数组函数使用方法
这个函数主要是用来对关联数组进行而存在,它的“姐妹”函数uksort()是使用自定义函数而进行比较的  。一句话:ksort()对于关联级数,对键进行排序并保留键名到数据的关联  。数组的自然排序,到目前为止我们所知道的排序函数要么是用默认的方式,要么按照自定义的方式进行排序  。那么natsort()则使用一种人性化的排序方式来对数组进行排序  。在此就不说了,实例可以查看手册,如果你手头上没有PHP帮助手册,你可以在浏览本站在线帮助手册进行查看

  1. shuffle()//函数的使用  
  2. Shuffle()//用来对一个数组进行随机排序,这个有点像抽签,其他的就不多说了  。到用的时候再看吧  。  
  3. array_rand()//函数的使用  
  4. array_rand()//函数和shuffle()差不多,也是随机返回数组中的元素,如下调用:  
  5. array_rand ( array [, int num_req] ) //可选参数指出你要返回的个数  。 

  到此我想数组的排序我们已经有所了解了,如果还有什么"遗撼"以后再来弥补吧  。