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 相关文章推荐
PHP 写文本日志实现代码
May 18 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
ThinkPHP之getField详解
Jun 20 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
php数值转换时间及时间转换数值用法示例
May 18 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
php7函数,声明,返回值等新特性介绍
May 25 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 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
php面向对象全攻略 (九)访问类型
2009/09/30 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
详解php用static方法的原因
2018/09/12 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
js实现简单的验证码
2015/12/25 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
微信小程序日历效果
2018/12/29 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
javascript实现画板功能
2020/04/12 Javascript
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
python paramiko模块学习分享
2017/08/23 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
护士实习生自我鉴定范文
2013/12/10 职场文书
高中生毕业自我鉴定范文
2013/12/22 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
植树节标语
2014/06/27 职场文书
党员证明信
2015/06/19 职场文书