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 相关文章推荐
为php4加入动态flash文件的生成的支持
Oct 09 PHP
php中数据的批量导入(csv文件)
Oct 09 PHP
How do I change MySQL timezone?
Mar 26 PHP
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
Jun 28 PHP
php中hashtable实现示例分享
Feb 13 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 PHP
php微信支付接口开发程序
Aug 02 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 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关联链接常用代码
2012/11/05 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
php实现文件编码批量转换
2014/03/10 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
全面详细的jQuery常见开发技巧手册
2016/02/21 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
python中的格式化输出用法总结
2016/07/28 Python
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
python中map()函数的使用方法示例
2017/09/29 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
python的sorted用法详解
2019/06/25 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
数控专业自荐书范文
2014/03/16 职场文书
护士长竞聘书
2014/03/31 职场文书
学校运动会报道稿
2014/09/23 职场文书
我在伊朗长大观后感
2015/06/16 职场文书
中秋节祝酒词
2015/08/12 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
python for循环赋值问题
2021/06/03 Python
redis复制有可能碰到的问题汇总
2022/04/03 Redis