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 28 PHP
PHP 身份验证方面的函数
Oct 11 PHP
php中static静态变量的使用方法详解
Jun 04 PHP
一些php项目中比较通用的php自建函数的详解
Jun 06 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 PHP
Destoon实现多表查询示例
Aug 21 PHP
apache中为php 设置虚拟目录
Dec 17 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
Jan 07 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
PHP实现验证码校验功能
Nov 16 PHP
Yii框架参数配置文件params用法实例分析
Sep 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知识收集
2012/08/20 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
document.getElementById介绍
2011/09/13 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
jQuery操作基本控件方法实例分析
2015/12/31 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
Vue实现简单购物车功能
2020/12/13 Vue.js
python pycurl验证basic和digest认证的方法
2018/05/02 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
美国知名眼镜网站:Target Optical
2020/04/04 全球购物
新学期红领巾广播稿
2014/01/14 职场文书
大班上学期幼儿评语
2014/04/30 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
优秀教师推荐材料
2014/12/16 职场文书
节水倡议书
2015/01/19 职场文书
受资助学生感谢信
2015/01/21 职场文书
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android
KVM基础命令详解
2022/04/30 Servers
Java 多线程协作作业之信号同步
2022/05/11 Java/Android