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如何得到当前页和上一页的地址?
Nov 27 PHP
关于mysql 字段的那个点为是定界符
Jan 15 PHP
php 表单数据的获取代码
Mar 10 PHP
php 常用类汇总 推荐收藏
May 13 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
win7安装php框架Yii的方法
Jan 25 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
php自定义扩展名获取函数示例
Dec 12 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 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安全配置
2006/10/09 PHP
Laravel 5框架学习之Eloquent 关系
2015/04/09 PHP
PHP使用递归生成文章树
2015/04/21 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
pygame加载中文名mp3文件出现error
2017/03/31 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
Django-migrate报错问题解决方案
2020/04/21 Python
Pytorch转tflite方式
2020/05/25 Python
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
超市总经理岗位职责
2014/02/02 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
产品设计开发计划书
2014/05/07 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
火箭队口号
2014/06/18 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
2016年禁毒宣传活动总结
2016/04/05 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
golang 实现并发求和
2021/05/08 Golang
详解在OpenCV中如何使用图像像素
2022/03/03 Python