分享一个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. C++ primer 练习9.49

    如果一个字母延伸到中线之上,如d或f,则称其有上出头部分.如果一个字母延伸到中线之下,如p或g, 则称其有下出头部分.编写程序,读入一个单词,输出最长的即不包含上出头部分,也不包含下出头部分单 词. ...

  2. (medium)LeetCode 207.Course Schedule

    There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prer ...

  3. [POJ 1635] Subway tree systems (树哈希)

    题目链接:http://poj.org/problem?id=1635 题目大意:给你两棵树的dfs描述串,从根节点出发,0代表向深搜,1代表回溯. 我刚开始自己设计了哈希函数,不知道为什么有问题.. ...

  4. Android--使用Notification在通知栏显示消息

    在一个Activity中点击按钮,产生一个通知栏消息通知. package cn.luxh.mynotice; import android.os.Bundle; import android.uti ...

  5. (转)C#序列化和反序列化小例子

    网友关于序列化和反序列化的总结: ①序列化基本是指把一个对象保存到文件或流中,比如可以把文件序列化以保存到Xml中,或一个磁盘文件中 ②序列化以某种存储形式使自定义对象持久化: ③将对象从一个地方传递 ...

  6. sqlite报错OutOfMemory

    如 java.sql.SQLException: out of memory at org.sqlite.DB.throwex(DB.java:252) at org.sqlite.NestedDB. ...

  7. Hive基础之Hive开启查询列名及行转列显示

    Hive默认情况下查询结果里面是只显示值: hive> select * from click_log; OK ad_101 :: ad_102 :: ad_103 :: ad_104 :: a ...

  8. 剑指Offer:面试题8——旋转数组的最小值(java实现)

    题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入 一个递增排序的数组的一个旋转 输出 旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的 ...

  9. button的type属性

    今天为看懂一段js代码纠结了很久,搞不明白数据是如何实现post,因为button没有规定属性,其次对submit事件没太搞明白.忽然想起默认属性这个概念,豁然开朗,啊~ 1.请始终为按钮规定 typ ...

  10. MySQL 按日期分表

    一.表不存在时则创建 之前做项目实在是太赶了,很多东西都没记录.是时候补回来了 MySQL做一个大表,由于要存历史记录,所以数据量很大,查询很慢.恰好查询的时候,又不需要时间太久的冷数据.现在将其实现 ...