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的cms
Dec 19 PHP
一些php技巧与注意事项分析
Feb 03 PHP
简单的移动设备检测PHP脚本代码
Feb 19 PHP
关于PHP中Object对象的笔记分享
Jun 28 PHP
解析crontab php自动运行的方法
Jun 24 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
PHP的引用详解
Feb 22 PHP
php实现可逆加密的方法
Aug 11 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
php出租房数据管理及搜索页面
May 23 PHP
PHP开发之用微信远程遥控服务器
Jan 25 PHP
提高Laravel应用性能方法详解
Jun 24 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
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
分享Python文本生成二维码实例
2016/01/06 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
2018/05/17 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
Python读取JSON数据操作实例解析
2020/05/18 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
DTD的含义以及作用
2014/01/26 面试题
中餐厅主管的职责范文
2014/02/04 职场文书
师说教学反思
2014/02/07 职场文书
2015最新民情日记范文
2015/06/26 职场文书
小学运动会前导词
2015/07/20 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python