深入理解PHP多维数组排序原理


  本文标签:PHP多维数组排序

  随着时代的发展,喜欢用PHP语言的人越来越多,我们这里就回顾一下PHP多维数组排序的功能,希望大家能得到收获  。如果成功则返回 TRUE,失败则返回 FALSE  。array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对PHP多维数组排序  。

  

  • APC方法实现PHP上传多个文件原理剖析
  • 新手必看PHP上传文件进度全面揭秘
  • 大师笔记之PHP上传文件代码
  • 经验之谈PHP数组函数总结
  • 深入学习PHP数组函数使用方法
关联(string)键名保持不变,但数字键名会被重新索引  。输入数组被当成一个表的列并以行来排序――这类似于 SQL 的 ORDER BY 子句的功能  。第一个数组是要排序的主要数组  。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推  。本函数的参数结构有些不同寻常,但是非常灵活  。第一个参数必须是一个数组  。接下来的每个参数可以是数组或者是下面列出的排序标志  。

  排序顺序标志:
◆SORT_ASC - 按照上升顺序排序
◆SORT_DESC - 按照下降顺序排序

  排序类型标志:
◆SORT_REGULAR - 将项目按照通常方法比较
◆SORT_NUMERIC - 将项目按照数值比较
◆SORT_STRING - 将项目按照字符串比较

  每个数组之后不能指定两个同类的排序标志  。每个数组后指定的排序标志仅对该数组有效 - 在此之前为默认值 SORT_ASC 和 SORT_REGULAR  。

  例子 1. 对PHP多维数组排序

  1. php 
  2. $ar1 = array("10", 100, 100, "a");  
  3. $ar2 = array(1, 3, "2", 1);  
  4. array_multisort($ar1, $ar2);  
  5.  
  6. var_dump($ar1);  
  7. var_dump($ar2);  
  8. ?> 

  本例中经过排序后,第一个数组将包含 "10","a",100,100  。第二个数组将包含 1,1,"2",3  。第二个数组中的项目顺序完全和第一个数组中相应的项目(100 和 100)顺序一致  。

  1. array(4) {  
  2. [0]=> string(2) "10"  
  3. [1]=> string(1) "a"  
  4. [2]=> int(100)  
  5. [3]=> int(100)  
  6. }  
  7. array(4) {  
  8. [0]=> int(1)  
  9. [1]=> int(1)  
  10. [2]=> string(1) "2"  
  11. [3]=> int(3)