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实现分页的一个示例
Oct 09 PHP
PHP安全配置
Dec 06 PHP
php的数组与字符串的转换函数整理汇总
Jul 18 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
Mar 26 PHP
详解js异步文件加载器
Jan 24 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
php生成图片缩略图功能示例
Feb 22 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 PHP
PHP PDOStatement::fetch讲解
Jan 31 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网站提速三大“软”招
2006/10/09 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
拖动一个HTML元素
2006/12/22 Javascript
JavaScript中Math对象使用说明
2008/01/16 Javascript
nodejs实用示例 缩址还原
2010/12/28 NodeJs
jquery、js操作checkbox全选反选
2014/03/12 Javascript
js使用循环清空某个div中的input标签值
2014/09/29 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
Node.js数据库操作之查询MySQL数据库(二)
2017/03/04 Javascript
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
python原始套接字编程示例分享
2014/02/21 Python
Python爬虫实现(伪)球迷速成
2018/06/10 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
大学生应聘自荐信
2013/10/11 职场文书
物流管理专业职业生涯规划书
2014/01/06 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
铁路安全事故反思
2014/04/26 职场文书
2014年资料员工作总结
2014/11/18 职场文书
清明节主题班会
2015/08/14 职场文书
幼儿园心得体会范文
2016/01/21 职场文书
《实心球》教学反思
2016/02/23 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL