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 - Html Transfer Code
Oct 09 PHP
一个简单实现多条件查询的例子
Oct 09 PHP
php多文件上传功能实现原理及代码
Apr 18 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
Jun 20 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
在Laravel5中正确设置文件权限的方法
May 22 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 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+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
nodejs实现用户登录路由功能
2019/05/22 NodeJs
微信小程序image图片加载完成监听
2019/08/31 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
python创建和使用字典实例详解
2013/11/01 Python
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
介绍一下EJB的体系结构
2012/08/01 面试题
How to spawning asynchronous work in J2EE
2016/08/29 面试题
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
中专毕业个人的自荐信格式
2013/09/21 职场文书
物流管理专业求职信
2014/05/29 职场文书
详解nodejs内置模块
2021/05/06 NodeJs
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技