分享一个php数组排序的例子,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

  1. <?php
  2. class='pingjiaF' frameborder='0' src='http://www.jbxue.com/pingjia.php?id=335100' scrolling='no'>
  3. 对数组排序
  4. usort() 函数使用用户自定义的函数对数组排序。
  5. */
  6. function cmp($a, $b) //用户自定义回调函数
  7. {
  8. if($a==$b) //如果两个参数相等
  9. {
  10. return 0; //返回0
  11. }
  12. return($a>$b)?-1:1; //如果第1个参数大于第2个返回1,否则-1
  13. }
  14. $a=array(3,2,5,6,1); //定义一个数组
  15. usort ($a,"cmp"); //使用自定义函数对数组排序
  16. foreach($a as $key=>$value) //循环输出排序后的键值对
  17. {
  18. echo "$key:$valuen";
  19. }
  20. /*
  21. 注释:如果两个元素比较结果相同,则它们在排序后的数组中的顺序未经定义。到 php 4.0.6 之前,用户自定义函数将保留这些元素的原有顺序。但是由于在 4.1.0 中引进了新的排序算法,结果将不是这样了,因为对此没有一个有效的解决方案。
  22. */
  23. //对数组键名排序 uksort(array,sorttype)
  24. function cmp($a, $b) //用户自定义回调函数
  25. {
  26. if($a==$b) //如果两个参数相等
  27. {
  28. return 0; //返回0
  29. }
  30. return($a>$b)?-1:1; //如果第1个参数大于第2个返回1,否则-1
  31. }
  32. $a=array(4=>"four",3 =>"three",20 =>"twenty",10=>"ten"); //定义一个数组
  33. uksort ($a,"cmp"); //使用自定义函数对数组键名排序
  34. foreach($a as $key=>$value) //循环输出排序后的键值对
  35. { // www.jbxue.com
  36. echo "$key:$valuen";
  37. }/*
  38. uksort() 函数使用用户自定义的比较函数按照键名对数组排序,并保持索引关系。
  39. 如果成功则返回 true,否则返回 false。
  40. 如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
  41. 自定义函数应接受两个参数,该参数将被数组中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。
  42. */
  43. /*
  44. sort() 函数按升序对给定数组的值排序。
  45. 注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。
  46. 如果成功则返回 true,否则返回 false。
  47. */
  48. $fruits=array("lemon","orange","banana","apple"); //定义一个数组
  49. sort($fruits); //对数组进行排序
  50. foreach($fruits as $key=>$val) //循环输出数组排序后的键值对
  51. {
  52. echo "$key=$valn"; //输出键值对
  53. }

php对数组排序的例子的更多相关文章

  1. php对数组排序代码

    php对数组排序,介绍了和php,有关的知识.技巧.经验,和一些php源码等. 对数组排序 usort() 函数使用用户自定义的函数对数组排序. */ function cmp($a, $b) //用 ...

  2. PHP中数组排序实例学习

    先介绍下php中用于数组排序的函数: 排序方法                           升序                             降序                 ...

  3. js原型链闭包作用域链-Tom

    1.原型相当于Java.C++里面的父类,由封装公有属性及方法而产生,子类可以继承. 原型继承实现(函数的原型属性指向原型函数一个实例对象,函数的原型的构造函数指向函数本身) 1)eg:原型链 fun ...

  4. 代码分享:php对二维数组进行排序

    发布:net/PHP编程  编辑:thebaby   2013-06-28 13:12:54  [大 中 小] 转自:http://www.jbxue.com/article/9991.html本文介 ...

  5. js中的数组Array定义与sort方法使用示例

    Array的定义及sort方法使用示例 Array数组相当于java中的ArrayList  定义方法:  1:使用new Array(5  )创建数组 var ary = new Array(5): ...

  6. Java开发笔记(二十三)数组工具Arrays

    数组作为一种组合形式的数据类型,必然要求提供一些处理数组的简便办法,包括数组比较.数组复制.数组排序等等.为此Java专门设计了Arrays工具,该工具包含了几个常用方法,方便程序员对数组进行加工操作 ...

  7. JavaScript内部原理实践——真的懂JavaScript吗?(转)

    通过翻译了Dmitry A.Soshnikov的关于ECMAScript-262-3 JavaScript内部原理的文章, 从理论角度对JavaScript中部分特性的内部工作机制有了一定的了解. 但 ...

  8. Swift语言精要-闭包(Closure)

    闭包(Closure)这个概念如果没学过Swift的人应该也不会陌生. 学过Javascript的朋友应该知道,在Javascript中我们经常会讨论闭包,很多前端工程师的面试题也会问到什么是闭包. ...

  9. 闭包(Closures)

    本文转自:http://goddyzhao.tumblr.com/post/11311499651/closures 翻译自:http://dmitrysoshnikov.com/ 概要 本文将介绍一 ...

随机推荐

  1. IGeoDatabaseBridge2.GetLineOfSight

    IGeoDatabaseBridge2.GetLineOfSight Method Returns a line-of-site indicator interpolated from the TIN ...

  2. 开一个帖子,等有时间了写写如何用shapelib创建点线面等shp图层

    开一个帖子,等有时间了写写如何用shapelib创建点线面等shp图层  C#操作shapelib的实例 http://files.cnblogs.com/yuxuetaoxp/Shapelib--D ...

  3. C Primer Plus(第五版)9

    第 9 章 函数 在本章中你将学习下列内容: · 关键字: return (返回) · 运算符 * (一元) & (一元) · 函数及其定义方式. · 参数和返回值的使用方法. · 使用指针变 ...

  4. (转)C#picturebox控件使用

    PictureBox是C#常用图片空间,本文是学习中搜集网络资料的一些整理和记录 1,PictureBox加载图片 using System.Drawing; //方式1,从图片文件载入 //下面的路 ...

  5. 03-position和anchorPoint

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  6. I/B/P SP/SI

    H264中I.B.P帧 I帧:只作为参考帧,采用帧内预测 B帧:以其前面的I帧或P帧和后面的P帧作为参考帧 P帧:只能以前面的I帧或P帧作为参考帧 H264中的SP SI SP和SI是H264中引入的 ...

  7. Codeforces Round #218 (Div. 2) D. Vessels

    D. Vessels time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  8. mysql 存储结构

    mysql存储结构:数据库->表->数据 1)管理数据库 增:create database sjk; 删:drop database sjk; 改:alter database sjk; ...

  9. Mac OS下Boot2Docker的网络映射设置

    Mac系统下安装Boot2Docker造成了三层网络:Mac->VirtualBox->Docker,通过docker run 参数-p/-P,能手动或自动设置VirtualBox与Doc ...

  10. CISCO动态VLAN配置

    一.基于VMPS的动态VLAN配置实例 网络中VLAN实现分为静态 VLAN和动态VLAN.静态VLAN又被称为是基于端口的VLAN.顾名思义,就是明确指定各端口属于哪个VLAN的设定方法,交换机中某 ...