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 相关文章推荐
BBS(php & mysql)完整版(四)
Oct 09 PHP
cmd下运行php脚本
Nov 25 PHP
PHP 网络开发详解之远程文件包含漏洞
Apr 25 PHP
PHP编码规范之注释和文件结构说明
Jul 09 PHP
PHP MemCached 高级缓存应用代码
Aug 05 PHP
php设计模式 Prototype (原型模式)代码
Jun 26 PHP
destoon各类调用汇总
Jun 20 PHP
PHP中使用BigMap实例
Mar 30 PHP
PHP实现事件机制的方法
Jul 10 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
Dec 09 PHP
PHP安全下载文件的方法
Apr 07 PHP
php分享朋友圈的实现代码
Feb 18 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
Windows下的PHP5.0详解
2006/11/18 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
js 函数的副作用分析
2011/08/23 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
react高阶组件经典应用之权限控制详解
2017/09/07 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
售后服务经理岗位职责范本
2014/02/22 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
人力资源部工作计划
2019/05/14 职场文书
nginx优化的六点方法
2021/03/31 Servers