php对数组排序代码分享


Posted in PHP onFebruary 24, 2014
<?php  
class='pingjiaF' frameborder='0' src='https://3water.com' scrolling='no'>  
对数组排序  
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) //循环输出排序后的键值对  
{ // 3water.com  
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 相关文章推荐
JAVA/JSP学习系列之四
Oct 09 PHP
实现树状结构的两种方法
Oct 09 PHP
如何使用PHP往windows中添加用户
Dec 06 PHP
set_include_path在win和linux下的区别
Jan 10 PHP
PHP文章按日期(月日)SQL归档语句
Nov 29 PHP
PHP实现图片裁剪、添加水印效果代码
Oct 01 PHP
简单PHP会话(session)说明介绍
Aug 21 PHP
基于thinkPHP类的插入数据库操作功能示例
Jan 06 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
PHP如何通过表单直接提交大文件详解
Jan 08 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
PHP 实现 WebSocket 协议原理与应用详解
Apr 22 PHP
php判断ip黑名单程序代码实例
Feb 24 #PHP
thinkphp的c方法使用示例
Feb 24 #PHP
php根据操作系统转换文件名大小写的方法
Feb 24 #PHP
PHP获取本周第一天和最后一天示例代码
Feb 24 #PHP
thinkphp控制器调度使用示例
Feb 24 #PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
Feb 24 #PHP
将php数组输出html表格的方法
Feb 24 #PHP
You might like
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
zend框架实现支持sql server的操作方法
2016/12/08 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
python的三目运算符和not in运算符使用示例
2014/03/03 Python
Python之py2exe打包工具详解
2017/06/14 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
浅谈pytorch中的BN层的注意事项
2020/06/23 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
供用电专业求职信
2014/07/07 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
收入证明申请书
2015/06/12 职场文书
安全生产学习心得体会
2016/01/18 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python