PHP排序详解
来源:互联网 发布:初唐网络 编辑:程序博客网 时间:2024/06/07 05:47
PHP 数组排序
排序有sort,rsort,asort,resort,ksort,rksort方法,以及自定义排序方法usort。
PHP针对数字索引数组排序方法
申明数字索引数组
Example:
$products=array("LYG","WCS", "ABC", "DEG", "SSG",);$numbers=range(1,10);$chars=range("a","z");
升序排序方法sort
Example:
Sort($products);
Sort 方法还第二个可选参数,如果不写默认是SORT_REGULAR常规排序,另外还提供SORT_NUMERIC,SORT_STRING两种排序规则。
Example:
Sort($numbers,SORT_NUMERIC);//排数字顺序排Sort($chars,SORT_STRING);//按字符串排
降序排序方法rsort
Example:
rsort($products);
降序也有第二个可选参数,参考前面的sort方法说明。
Example
rsort($products,SORT_REGULAR);
PHP针对关联数组排序方法
申明关联数组
Example:
$prices=array("PHP"=>100,"C#"=>50,"Java"=>20,"C++"=>60);$prices["Python"]=40;//添加数组元素到未尾
升序排序方法asort、ksort
Example:
asort($prices);//按值升序排列。ksort($prices);//按关键词升序排序。
asort、ksort也有第二个可选参数,参考前面的sort方法说明。
Example:
asort($prices,SORT_NUMERIC);ksort($prices,SORT_STRING);
降序排序方法rasort、rksort
Example:
rasort($prices);rksort($prices);
rasort、rksort也有第二个可选参数,参考前面的sort方法说明。
Example:
rasort($prices,SORT_NUMERIC);rksort($prices,SORT_STRING);
自定义排序方法usort
Example:
$products=array( array('TIR','Tires',100), array('OIL','Oil',10), array('SPK','SparkPlugs',4), );
需要对这个二维数组存储了产品代码,产品说明以及价格的信息。有可能按产品代码排序或者价格排序又或者通过产品代码和价格同时排序。自定义排序方法需要申明一个排序函数。
Example:
function compare($x,$y) { if($x[1]==$y[1]) { return 0; } else if($x[1]<$y[1]) { return -1; } else { return 1; } } usort($products,”compare”);//调用示例
说明下:$x,$y是表示的这个数组的元素,$x[1],$y[1]表示按这个数组的第1个元素,因为下标是从0开始的,如果需要按产品价格排序需要把1改成2即$x[2]$y[2],即按产品说明这一列来排序的,示例是按升序排列的。
同理asort,ksort对应的自定义排序方法为uasort,uksort,也需要申明对应的排序函数。
以上是通过升序排列,如果需要反序排列,需要修改下排序函数,如下只要修改返回值的方式。
Example:
function reverse_compare($x,$y) { if($x[2]==$y[2]) { return 0; } else if($x[2]<$y[2]) { return 1; } else { return -1; } }usort($products,” reverse_compare”);//调用示例
对数组进行重新排序
使用shuffle函数进行随机排序,使用array_reverse对原来的顺序进行反序排序。
Example:
shuffle($products);//随机排序 array_reverse($products);//反序排序
如果是整数的反序,还可以使用range(1,10,-1)来达到反序效果,把range步值改为-1。
- 详解PHP数组排序
- PHP冒泡排序详解
- PHP数组排序详解
- PHP排序详解
- php二维数组排序详解
- php冒泡排序详解笔记
- php选择排序详解笔记
- PHP 快速排序算法详解
- php冒泡排序详解笔记
- php最详细的冒泡排序详解
- 举例详解PHP归并排序的实现
- php冒泡排序与快速排序实例详解
- php 实现冒泡、选择、插入和快速排序详解
- php 排序
- php排序
- php排序
- php排序
- PHP 排序
- Eclipse上安装GIT插件EGit及使用
- C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁
- 怎么用EDIUS将静帧图片做出动态特效
- label 显示不同颜色 不同文字点击事件
- React + Redux
- PHP排序详解
- Python爬虫实战(2):爬取京东商品列表
- 26. Remove Duplicates from Sorted Array
- mysql 5.7 安装问题
- 2.URL
- 利用git hook每次commit时执行一些其它操作。
- Collections sort 实体类排序
- RecyclerView超简单demo(局部更新取代ListView)
- Android异步任务AsyncTask使用详解