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 相关文章推荐
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
Jul 03 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
php解析html类库simple_html_dom(详细介绍)
Jul 05 PHP
分享下PHP register_globals 值为on与off的理解
Sep 26 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
May 21 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 PHP
PHP获取一年有几周以及每周开始日期和结束日期
Aug 06 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 PHP
PHP的curl函数的用法总结
Feb 14 PHP
详解php命令注入攻击
Apr 06 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图片的二进制转换实现方法
2014/12/15 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
使用Python 正则匹配两个特定字符之间的字符方法
2018/12/24 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
Python 实现集合Set的示例
2020/12/21 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
使用layui实现左侧菜单栏及动态操作tab项的方法
2020/11/10 HTML / CSS
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
爱护公共设施的标语
2014/06/24 职场文书
人事局接收函
2015/01/31 职场文书
统计员岗位职责范本
2015/04/14 职场文书
Java使用JMeter进行高并发测试
2021/11/23 Java/Android
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android