使用内置函数解决PHP多维数组排序问题

开发 后端
我们都知道数组在编程中的重要性,文章这里就PHP多维数组排序的问题做出了详细的讲解,希望对大家有帮助。

学习PHP时,你可能会遇到PHP多维数组排序问题,这里将介绍PHP多维数组排序问题的解决方法,在这里拿出来和大家分享一下,希望对大家有帮助。

#T#根据数组的键进行比较大小,排序,就不用说了,php有很多,很方便的内置函数,krsort(),ksort()等如果是根据数组的值进行比较大小就麻烦一些。如果值没有重复的情况,可以先用array_flip()交换键、值;然后krsort(),然后在array_flip()交换回来,就可以比较大小。有值重复的情况,就要用到一些排序算法了,不过php有很方便的回调函数uasort()会保持原来的索引、usort()会重建索引。PHP多维数组排序代码:

  1. php 
  2. functioncmp($a,$b){  
  3. if($a[”nums”]==$b[”nums”]){  
  4. return0;  
  5. }  
  6. return($a[”nums”]<$b[”nums”])?-1:1;  
  7. }  
  8. $arr=Array(  
  9. 0=>Array(  
  10. “username”=>owen,  
  11. “nums”=>2,  
  12. ),  
  13. 1=>Array(  
  14. “username”=>d5s,  
  15. “nums”=>5,  
  16. ),  
  17. 2=>Array(  
  18. “username”=>pt,  
  19. “nums”=>3,  
  20. ),  
  21. );  
  22. uasort($arr,“cmp”);  
  23. echo‘<prestyleprestyle=”text-align:left”>’;  
  24. print_r($arr);  
  25. echo‘pre>’;  
  26. ?> 
  27.  
  28. Array  
  29. (  
  30. [0]=>Array  
  31. (  
  32. [username]=>owen  
  33. [nums]=>2  
  34. )  
  35.  
  36. [2]=>Array  
  37. (  
  38. [username]=>pt  
  39. [nums]=>3  
  40. )  
  41.  
  42. [1]=>Array  
  43. (  
  44. [username]=>d5s  
  45. [nums]=>5  
  46. )  
  47.  
责任编辑:田树 来源: 博客
相关推荐

2009-11-20 09:24:10

PHP多维数组排序

2009-11-16 17:20:04

PHP多维数组排序

2009-11-25 14:44:34

PHP函数array_

2009-11-24 10:31:22

PHP函数sort()

2009-11-16 16:43:24

PHP数组删除

2009-11-16 16:17:45

PHP数组排序

2009-11-24 17:45:47

PHP数组排序函数ar

2010-10-08 13:21:03

JavaScript多维数组

2021-10-14 08:58:48

Java冒泡排序

2009-12-09 09:30:21

PHP foreach

2009-11-16 17:35:38

PHP数组排序

2009-11-16 15:07:23

PHP数组函数库

2009-12-07 15:56:46

PHP内置SOAP

2009-11-17 16:09:04

PHP二维数组排序

2009-11-25 09:56:06

PHP数组处理函数

2009-11-30 18:59:52

PHP数组排序

2009-11-18 11:30:26

PHP数组排序

2009-11-16 15:40:58

PHP数组函数

2009-12-07 13:50:10

PHP函数shuffl

2009-11-18 14:11:10

PHP数组变量
点赞
收藏

51CTO技术栈公众号