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读写文件的方法(生成HTML)
Nov 27 PHP
PHP文件操作实现代码分享
Sep 01 PHP
linux iconv方法的使用
Oct 01 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
深入PHP FTP类的详解
Jun 13 PHP
php生成图形(Libchart)实例
Nov 06 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
Dec 31 PHP
Yii框架用户登录session丢失问题解决方法
Jan 07 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 PHP
php 二维数组快速排序算法的实现代码
Oct 17 PHP
PHP7新功能总结
Apr 14 PHP
PHP7 安装event扩展的实现方法
Oct 08 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生成等比缩略图类和自定义函数分享
2014/06/25 PHP
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
python实现转圈打印矩阵
2019/03/02 Python
Python函数和模块的使用总结
2019/05/20 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
升职自荐信范文
2013/10/05 职场文书
幼儿园标语大全
2014/06/19 职场文书
三方股东合作协议书
2014/10/28 职场文书
军训新闻稿范文
2015/07/17 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
Oracle 多表查询基本语法实例
2022/04/18 Oracle
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers