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 相关文章推荐
php购物网站支付paypal使用方法
Nov 28 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
CakePHP框架Model函数定义方法示例
Aug 04 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
php语言注释,单行注释和多行注释
Jan 21 PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
TP3.2.3框架文件上传操作实例详解
Jan 23 PHP
PHP数组访问常用方法解析
Sep 05 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
PHPMailer邮件发送的实现代码
2013/05/04 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
javascript中检测变量的类型的代码
2010/12/28 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
2015/12/08 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
mui js控制开关状态、修改switch开关的值方法
2019/09/03 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
社会实践自我鉴定
2013/11/07 职场文书
幼儿园教师教育感言
2014/02/28 职场文书
绿色出行口号
2014/06/18 职场文书
教师暑期培训感言
2014/08/15 职场文书
德育标兵事迹材料
2014/08/24 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏