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实现插入排序?
Apr 10 PHP
php中的strpos使用示例
Feb 27 PHP
php设置session值和cookies的学习示例
Mar 21 PHP
php通过文件流方式复制文件的方法
Mar 13 PHP
php计算两个文件相对路径的方法
Mar 14 PHP
php 利用array_slice函数获取随机数组或前几条数据
Sep 30 PHP
PHP中FTP相关函数小结
Jul 15 PHP
PHP页面输出搜索后跳转下一页的处理方法
Sep 30 PHP
php+ajax简单实现全选删除的方法
Dec 06 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
YII框架页面缓存操作示例
Apr 29 PHP
PHP SESSION跨页面传递失败解决方案
Dec 11 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
PHP代码优化的53个细节
2014/03/03 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
js中style.display=""无效的解决方法
2014/10/30 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
Python实现FM算法解析
2019/06/18 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
信息专业大学生自我评价分享
2014/01/17 职场文书
学生保证书
2015/01/16 职场文书
二手手机买卖合同范本(2019年版)
2019/10/28 职场文书
彻底弄懂Python中的回调函数(callback)
2022/06/25 Python