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 相关文章推荐
通过html表格发电子邮件
Oct 09 PHP
php模拟socket一次连接,多次发送数据的实现代码
Jul 26 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
Jul 31 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
Sep 22 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
Apr 03 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
Jan 07 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
Mar 12 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 20 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 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 PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
2014/11/20 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
innerText和textContent对比及使用介绍
2013/02/27 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
详谈javascript异步编程
2016/02/21 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
jQuery之动画效果大全
2016/11/09 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
微信小程序实时聊天WebSocket
2018/07/05 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
应届毕业生求职信范文
2013/12/18 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
活动总结怎么写
2014/04/28 职场文书
幼儿园辞职书
2015/02/26 职场文书
大学校园招聘会感想
2015/08/10 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
基于docker安装zabbix的详细教程
2022/06/05 Servers