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 相关文章推荐
一个域名查询的程序
Oct 09 PHP
FleaPHP的安全设置方法
Sep 15 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
php实现按照权重随机排序数据的方法
Jan 09 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 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
PHP网站备份程序代码分享
2011/06/10 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
PHP常见加密函数用法示例【crypt与md5】
2019/01/27 PHP
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
AngularJs分页插件使用详解
2018/06/30 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
股份合作协议书
2014/04/12 职场文书
机械专业求职信范文
2014/07/15 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
农村党员干部承诺书
2015/05/04 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android
Java中的Kotlin 内部类原理
2022/06/16 Java/Android