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字符串截取问题
Nov 28 PHP
php pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
19个超实用的PHP代码片段
Mar 14 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
php的sso单点登录实现方法
Jan 08 PHP
php判断当前操作系统类型
Oct 28 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
Apr 10 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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/12/04 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
JavaScript中链式调用之研习
2011/04/07 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
jQuery通过deferred对象管理ajax异步
2016/05/20 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
python对html代码进行escape编码的方法
2015/05/04 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
python多进程并发demo实例解析
2019/12/13 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
python爬虫实现获取下一页代码
2020/03/13 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
python爬取微博评论的实例讲解
2021/01/15 Python
美国汽车交易网站:Edmunds
2016/08/17 全球购物
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
什么是设计模式
2012/06/17 面试题
几道Java和数据库的面试题
2013/05/30 面试题
文秘专业个人求职信
2013/12/22 职场文书
上级检查欢迎词
2014/01/18 职场文书
大学生个人事迹材料
2014/01/21 职场文书
入党介绍人评语
2014/05/06 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
2014年公务员转正工作总结
2014/11/07 职场文书
员工规章制度范本
2015/08/07 职场文书
节约用水广告语60条
2019/11/14 职场文书
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技