PHP 简单数组排序实现代码


Posted in PHP onAugust 05, 2009

php 简单数组排序的方法,供大家学习参考。
PHP不知道如何去比较两个数组,需要建立一个比较它们的方法。

一、数字索引数组的初始化

$arr = array('100', '200', '300');

以上就代码就创建了一个数组,并且包含3个值。PHP数组的数字索引是从0开始的。所以$arr[0]的值为100。
可以用一个简单的 "="号把一个数组中的值复制到另一个数组中。
如果需要将按升序排列的数字保存到一个数组中,可以使用range()函数自动创建这个数组。

如以下代码将创建一个从1到10的数字数组:

$nums = range(1,10);

这个函数还有第三个参数,可以设定数字增长的步长。如: range(1,10,2)就是1到10之间的奇数。
PHP还支持相关数组,就是可以将变量值和关键字关联起来。如:

$arr = array('one'=>100, 'two'=>200, 'three'=>300);

二、数组排序

1、sort()函数:按数组值的字母或数字的升序排序。
sort()函数区分大小写,所有大写字母都在小写字母的前面。这个函数还有第二个参数,可以传递SORT_NUMERIC或SORT_STRING或SORT_REGULAR(默认值)。 指定排序功能是非常有用的,例如,当妖比较数字12和2时,从字符串来看,12要小于2,而从数字角度看正好相反。
2、asort()函数,ksort()函数:
如果使用了相关数组,在排序后还要保持关键字和值的排序仍然一致。就要用到这两个函数了。ksort就是按照key(关键字)来排序,asort就是value(按照值)来排序(都是升序)。
例如有数组:
$price = array('苹果'=5,'香蕉'=6,'荔枝'=7);
我们用ksort($price);排序后结果是:荔枝--7,苹果--5,香蕉--6
用asort($price);排序后的结果是:苹果--5,香蕉--6,荔枝--7
对应的这几个反相排序就是在sort前面加一个'r'。也就是rsort(),arsort(),krsort()

三、多维数组的排序

PHP知道如何比较两个数字或字符串,但多维数组的每个元素都是数组。
PHP不知道如何去比较两个数组,所以需要建立一个比较它们的方法。

PHP 相关文章推荐
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
基于header的一些常用指令详解
Jun 06 PHP
处理单名多值表单的详解
Jun 08 PHP
使用php计算排列组合的方法
Nov 13 PHP
php实现过滤表单提交中html标签的方法
Oct 17 PHP
PHP中的魔术方法总结和使用实例
May 11 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
Jan 07 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP+Ajax简单get验证操作示例
Mar 02 PHP
用php获取本周,上周,本月,上月,本季度日期的代码
Aug 05 #PHP
一些 PHP 管理系统程序中的后门
Aug 05 #PHP
黑夜路人出的几道php笔试题
Aug 04 #PHP
谈谈新手如何学习PHP 默默经典版本
Aug 04 #PHP
用PHP的ob_start() 控制您的浏览器cache
Aug 03 #PHP
一贴学会PHP 新手入门教程
Aug 03 #PHP
php 获得汉字拼音首字母的函数
Aug 01 #PHP
You might like
海贼王:最美的悬赏令!
2020/03/02 日漫
PHP中一个控制字符串输出的函数
2006/10/09 PHP
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
PHP学习笔记(三):数据类型转换与常量介绍
2015/04/17 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
js时间比较 js计算时间差的简单实现方法
2016/08/26 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
Angular数据绑定机制原理
2018/04/17 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
python线程中的同步问题及解决方法
2019/08/29 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
2020/02/17 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
Superdry极度乾燥官网:日本街头风格,纯英国制造品牌
2016/10/31 全球购物
远程教育心得体会
2014/01/03 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
生日庆典策划方案
2014/06/02 职场文书
内勤岗位职责范本
2015/04/13 职场文书
珍爱生命主题班会
2015/08/13 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android