php数组排序usort、uksort与sort函数用法


Posted in PHP onNovember 17, 2014

本文实例讲述了php数组排序usort、uksort与sort函数用法。分享给大家供大家参考。具体用法分析如下:

对数组排序:usort() 函数使用用户自定义的函数对数组排序,实例代码如下:

function cmp($a, $b)        //用户自定义回调函数 

{ 

  if($a==$b)         //如果两个参数相等 

  { 

    return 0;         //返回0 

  } 

  return($a>$b)?-1:1;       //如果第1个参数大于第2个返回1,否则-1 

} 

$a=array(3,2,5,6,1);        //定义一个数组 

usort ($a,"cmp");        //使用自定义函数对数组排序 

foreach($a as $key=>$value)      //循环输出排序后的键值对 

{ 

  echo "$key:$valuen"; 

}

注释:如果两个元素比较结果相同,则它们在排序后的数组中的顺序未经定义,到 php 4.0.6 之前,用户自定义函数将保留这些元素的原有顺序,但是由于在 4.1.0 中引进了新的排序算法,结果将不是这样了,因为对此没有一个有效的解决方案.

对数组键名排序 uksort(array,sorttype),实例代码如下:

function cmp($a, $b)        //用户自定义回调函数 

{ 

  if($a==$b)         //如果两个参数相等 

  { 

    return 0;         //返回0 

  } 

  return($a>$b)?-1:1;       //如果第1个参数大于第2个返回1,否则-1 

} 

$a=array(4=>"four",3 =>"three",20 =>"twenty",10=>"ten"); //定义一个数组 

uksort ($a,"cmp");        //使用自定义函数对数组键名排序 

foreach($a as $key=>$value)      //循环输出排序后的键值对 

{

  echo "$key:$valuen"; 

}

uksort() 函数使用用户自定义的比较函数按照键名对数组排序,并保持索引关系,如果成功则返回 true,否则返回 false.

如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数,自定义函数应接受两个参数,该参数将被数组中的一对键名填充,比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数.

sort() 函数按升序对给定数组的值排序.

注释:本函数为数组中的单元赋予新的键名,原有的键名将被删除,如果成功则返回 true,否则返回 false,实例代码如下:

$fruits=array("lemon","orange","banana","apple");    //定义一个数组 

sort($fruits);           //对数组进行排序 

foreach($fruits as $key=>$val)        //循环输出数组排序后的键值对 

{ 

  echo "$key=$valn";         //输出键值对 

}

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
WML,Apache,和 PHP 的介绍
Oct 09 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
PHP 安全检测代码片段(分享)
Jul 05 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 PHP
Eclipse PHPEclipse 配置的具体步骤
Aug 08 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
PHP进阶学习之垃圾回收机制详解
Jun 18 PHP
php中current、next与reset函数用法实例
Nov 17 #PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
Nov 17 #PHP
php检测数组长度函数sizeof与count用法
Nov 17 #PHP
php中filter_input函数用法分析
Nov 15 #PHP
getimagesize获取图片尺寸实例
Nov 15 #PHP
php中rename函数用法分析
Nov 15 #PHP
php格式输出文件var_export函数实例
Nov 15 #PHP
You might like
ThinkPHP中redirect用法分析
2014/12/05 PHP
关于PHP文件的自动运行方法分析
2016/05/13 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
JavaScript 字符串乘法
2009/08/20 Javascript
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
Pyinstaller将py打包成exe的实例
2018/03/31 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
计算机专业大学生的自我评价
2013/11/14 职场文书
教师评优事迹材料
2014/01/10 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
社区服务活动报告
2015/02/05 职场文书
SQL Server实现分页方法介绍
2022/03/16 SQL Server