php 数组排序(升序、降序及相关问题),供大家参考。

先来普通下知识,在php中快速创建数组可以用函数range(),有关range的使用方法,请参考链接:

http://www.jquerycn.cn/article/6391.html

http://www.w3school.com.cn/php/func_array_range.asp

下面是常用的php数组排序的函数。

sort:本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

rsort:本函数对数组进行逆向排序(最高到最低)。 删除原有的键名而不仅是重新排序。

asort:对数组进行排序并保持索引关系

arsort:对数组进行逆向排序并保持索引关系

ksort:对数组按照键名排序,保留键名到数据的关联

krsort:对数组按照键名逆向排序,保留键名到数据的关联

natsort:对字母数字字符串进行排序并保持原有键/值的关联

natcasesort:同natsort排序算法,但不区分大小写字母排序

php 数组排序(sort)

数字索引数组排序:

函数:sort(array, [sort type])

说明:sort()函数按升序对指定数组(第一个参数)进行排序。

sort函数第二参数作用为指定排序类型,是可选参数,可能的值为:

SORT_REGULAR: 默认值,不改变类型进行排序;

SORT_NUMERIC: 把值作为数字进行排序;

SORT_STRING: 把值作为字符串进行排序;

如数组中有4和”37″,按数字排序,4小于”37″;按字符串排序,4大于”37″;

复制代码 代码示例:

$a = array(4,"37",3,100,0,-5);

sort($a);

for ($i=0; $i<6; ++$i){

echo $a[$i]." ";

}

echo "
";

sort($a,SORT_STRING);

for ($i=0; $i<6; ++$i){

echo $a[$i]." ";

}

echo "
";

?>

输出结果:

-5 0 3 4 37 100

-5 0 100 3 37 4

降序排序:rsort(array, [sort type])

参数用法与sort函数相同。

关联数组排序:

函数:asort(array, [sort type])

说明:根据关联数组的元素值进行升序排序。参数使用见上面的sort函数。

函数:ksort(array, [sort type])

说明:根据关联数组的关键字进行升序排序。参数使用见上面的sort函数。

复制代码 代码示例:

$a = array(

"good" => "bad",

"right" => "wrong",

"boy" => "girl");

echo "value sort
";

asort($a);

foreach($a as $key => $value){

echo "$key : $value
";

}

echo "
key sort
";

ksort($a);

foreach($a as $key => $value){

echo "$key : $value
";

}

?>

输出结果:

value sort

good : bad

boy : girl

right : wrong

key sort

boy : girl

good : bad

right : wrong

降序排序:

arsort(array, [sort type]) 与 asort对应

krsort(array, [sort type]) 与 ksort对应

快速创建数组的函数range()

比如range()函数可以快速创建从1到9的数字数组:

复制代码 代码示例:

$numbers=range(1,9);

echo $numbers[1];

?>

当然,使用range(9,1)则创建了9到1的数字数组。同时,range()还可以创建从a到z 的字符数组:

复制代码 代码示例:

$numbers=range(a,z);

foreach ($numbers as $mychrs)

echo $mychrs." ";

?>

使用字符数组时注意大小写,比如range(A,z)和range(a,Z)是不一样的。range()函数还具有第三个参数,该参数的作用是设定步长,比如range(1,9,3)创建的数组元素是:1、4、7。常见PHP数组排序一般数组中的各元素均以字符或数字表现的,所以可对数组元素进行升序排列,该功能函数为sort()。比如:

复制代码 代码示例:

$people=array('name','sex','nation','birth');

foreach ($people as $mychrs)

echo $mychrs." ";

sort($people);

echo "
---排序后---
";

foreach ($people as $mychrs)

echo $mychrs." ";

?>

升序排序后的数组元素显示为 birth name nation sex,当然,sort()函数是区分字母大小写的(字母从大到小的顺序是:A…Z…a…z)

Sort()函数还具有第二参数,用来说明PHP数组排序升序的规则是用来比较数字还是字符串的。比如:

复制代码 代码示例:

echo "---按数字升序排序---
";

$num2=array('26','3',);

sort($num2,SORT_NUMERIC);

foreach ($num2 as $mychrs)

echo $mychrs." ";

echo "
---按字符升序排序---
";

$num3=array('26','3');

sort($num3,SORT_STRING);

foreach ($num3 as $mychrs)

echo $mychrs." ";

?>

SORT_NUMERIC和SORT_STRING用来声明按数字或字符的升序排列。

如果按照数字升序排列是:3,26;但如果按照字符升序排列则是:26,3了。PHP中除了升序函数以外,还有降序或称反向排列的函数,就是rsort()函数,比如:$num1=range(1,9);rsort($num1);这里其实就相当于range(9,1)。

有关php数组排序的内容介绍完了,祝大家学习愉快。

>>> 更多内容,请查看 php数组排序方法大全 <<<

php降序怎写,php 数组排序(升序、降序及相关问题)相关推荐

  1. C++ 对二维数组排序 升序 降序

    点击查看更多通信与专业知识 今天在做下面这道题的时候糊涂了,把二维数组的排序做错了. 题目 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序).每个 peo ...

  2. 升序降序图标显示html,表格升序降序.html

    Document .price.up::after { content: '↑'; color: blue; } .price.down::after { content: '↓'; color: r ...

  3. MySQL中的升序降序以及字段的升序降序

    MySQL中 升序为asc 降序为desc 例如: 升序:select   *  from  表名 order by  表中的字段 asc(MySQL中默认是升序排列,可不写) : 降序:select ...

  4. 先用总分升序再用计算机降序,怎样用升序降序给EXCEL排名

    怎样用升序降序给EXCEL排名 (2008-12-14 16:35:01) 标签: 电脑 单元格 数据清单 h2 if 教育 在用Excel制作相关的数据表格时,我们可以利用其强大的排序功能,浏览.查 ...

  5. SQL语句 基础排序 单列排序 多列排序 升序降序 基础操作符 where语句 between 高级操作符 AND操作符 OR操作符 IN 和 NOT IN 优先级 Like操作符 模糊匹配 %

    基础排序: 单列排序: 前面我们学习了数据的查询,查询出来的数据没有特定的顺序,要将查询出来的数据排序,我们可是使用ORDER BY语句: 例如我们将年龄按照升序排列: select age from ...

  6. jquery 点击实现升序降序图标切换

    (本文适合小白/学渣,适合不想动脑子只想复制黏贴的) 需求: 有一个查询结果,返回的是表格的形式,点击表头任何一列,都能实现升序/降序的UI变换,同时表格内容该列也升序降序排列.支持分页. 实现步骤: ...

  7. Java中使用sort()进行升序降序排序

    这篇文章主要介绍了详解Java sort()数组排序(升序和降序),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 我们在学习 J ...

  8. js:数组对象按key值进行升序降序排序

    1.先定义一个数组对象 let arr=[{name:'李欣',age:'18'},{name:'王钊',age:'15'},{name:'李雪',age:'20'},{name:'李逍遥',age: ...

  9. python中升序降序问题_飘逸的python - 有的升序有的降序的情况下怎么多条件排序...

    之前在统计导出各区服玩家消费的时候需要进行升序降序混搭的多条件排序. 需求是这样的.区服从小到大排,如果区服相同,则按消费从大到小排. 实现方法是利用python的sort算法是稳定排序,对数据进行多 ...

最新文章

  1. 【转】centos 6.2 安装mysql-5.5.17
  2. 元计算:《元计算破解生命密码》听课笔记
  3. ImportError: cannot import name cbook
  4. python实现截图范围框跟随_教你用Python实现截图和文字识别,就是这么简单
  5. 搅局者奇虎360:特供机背后的周式隐忧
  6. jQuery插件实现的页面功能介绍引导页效果
  7. Android 圆角TabLayout
  8. c/c++中关于sizeof、strlen的使用说明
  9. Java设计模式-Builder生成器模式
  10. python小说电子书阅读系统毕业设计开题报告
  11. 80个让你笑爆肚皮的程序员段子,不好笑算我输!
  12. 斯坦福大学区块链期末考试题
  13. 经常问到的前端面试题
  14. 突然断电对oracle的影响,Oracle数据库之由于突然断电造成oracle数据库的部分clob字段值变为(损毁)...
  15. File Associations
  16. Android Bugly接入
  17. 植物大战僵尸花园花盆种类
  18. 循环 根据要求打印可空心倒三角形 123 简单
  19. 【MatLab】矩阵for循环与矩阵乘法运算速度对比
  20. Anroid(仿虎扑体育)ListView中数据按照时间\日期分组(分类)

热门文章

  1. UTF-8的BOM头
  2. 台式电脑一直跳一个计算机页面出来,我的电脑界面上莫名其妙的多出了好几个IE浏览器拜托各位了 3Q...
  3. c语言不借助其他变量交换a b的值,C++面试题之数a、b的值互换(不使用中间变量)...
  4. java list 合并 重复的数据_Java ArrayList合并并删除重复数据3种方法
  5. mysql utf8存不了中文乱码_MySQL怎么存文本不乱码?
  6. Farey Sequence(欧拉函数板子题)
  7. Eclipse中Java Web开发插件安装
  8. 大学计算机学情分析,大学生学情分析
  9. Prepared statement needs to be re-prepare
  10. 五年级计算机下册教案人教版,新人教版五年级下册信息技术全册教案.pdf