分享一个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. @InitBinder

    类型转换: 请求url:  http://localhost:8080/SSHDemo2/stu/pro?s=zk,19 传入参数 s=zk,19   转换为Student public class ...

  2. SQL执行的原理以及一些常见的关键字

    sql语句在面试里面问道的问题: sql的解析的顺序 1.where里面的条件是从右向左扫描解析 2.from里面的大表在前,小表在后,解析的顺序是从右向左解析. 3.left/right/inner ...

  3. android 解决ScrollView嵌套ListView的问题,不能全屏,全屏不能显示下面控件

    在开发中遇到ScrollView嵌套ListView的问题,最开始发出不能全屏,效果是这样的: 但我想要的效果是这样的: 下面看一下布局文件: <?xml version="1.0&q ...

  4. [工具] 如何利用Notepad++去除重复行

    问题: 需要去除重复数据, 例如: 解决方案: 1. 打开notepad++: 2. 如果没有找到"TextFx" 选项, 需要先安装该插件. 依次打开"插件" ...

  5. 转——Android应用开发性能优化完全分析

    [工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...

  6. OpenGL ES学习笔记(一)——基本用法、绘制流程与着色器编译

    首先声明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. 在Android.iOS等移动平台上 ...

  7. 从100PV到1亿级PV网站架构演变

    如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 一个网站就像一个人,存在一个从小到大的过程.养一个网站和养一个人一样,不同时期需要不 ...

  8. php json中文处理方法,请json更懂中文

    1.php5.3版本及以下.的处理方式 /** *php5.3版本以前,json中文问题的解决解决方案 */ function encode_json($str) { return urldecode ...

  9. 开源Cheops软件在企业中的应用

    笔者在所属分公司的网络改造的网络改造中采用了开源软件作为其网络管理软件,曾经使用时间达2年多,没有出现过问题,其本身具备的主要管理功能完全可以商业的网管软件相媲美,下文将其部署心得和大家一起分享.一. ...

  10. 【EF 3】浅谈ADO数据模型生成串(一):csdl,ssdl,msl分析

    导读:这段经历,真的是难以忘怀.恨得我牙痒痒,就一个字符串拼接,前前后后尽然报了不下30个错.有的错很快就能调出来,有的错调一天.两天,是真的可以的.最终总结了一下,这些错很大一部分原因是对于EF生成 ...