首页 > 语言 > PHP > 正文

array_multisort 多维数组排序函数

2024-09-04 11:46:29
字体:
来源:转载
供稿:网友

参数中的数组被当成一个表的列并以行来进行排序 - 这类似 sql 的 order by 子句的功能,第一个数组是要排序的主要数组,数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推,PHP实例代码如下:

  1. <?php 
  2. $a1=array("dog","cat"); 
  3. $a2=array("fido","missy"); 
  4. array_multisort($a1,$a2); 
  5. print_r($a1); 
  6. print_r($a2); 
  7. ?> 
  8. //输出: 
  9. array ( [0] => cat [1] => dog ) 
  10. array ( [0] => missy [1] => fido ) 

PHP实例,名次排列,代码如下:

  1. <?php 
  2. $grade = array("score" => array(70, 95, 70.0, 60, "70"), 
  3.                "name" => array("zhang san""li si""wang wu"
  4.                                "zhao liu""liu qi")); 
  5. array_multisort($grade["score"], sort_numeric, sort_desc, 
  6.                 // 将分数作为数值,由高到低排序 
  7.                 $grade["name"], sort_string, sort_asc); 
  8.                 // 将名字作为字符串,由小到大排序 
  9. var_dump($grade); 
  10. ?> //开源软件:Vevb.com 
  11. //上例将输出: 
  12. array(2) { 
  13.   ["score"]=> 
  14.   array(5) { 
  15.     [0]=> 
  16.     int(95) 
  17.     [1]=> 
  18.     string(2) "70" 
  19.     [2]=> 
  20.     float(70) 
  21.     [3]=> 
  22.     int(70) 
  23.     [4]=> 
  24.     int(60) 
  25.   } 
  26.   ["name"]=> 
  27.   array(5) { 
  28.     [0]=> 
  29.     string(5) "li si" 
  30.     [1]=> 
  31.     string(6) "liu qi" 
  32.     [2]=> 
  33.     string(7) "wang wu" 
  34.     [3]=> 
  35.     string(9) "zhang san" 
  36.     [4]=> 
  37.     string(8) "zhao liu" 
  38.   } 

多维数组排序,代码如下:

  1. <?php 
  2. $arr = array (array (1, 2, 3, 4), array ("a""b""b""d")); 
  3. array_multisort($arr[0], sort_desc, $arr[1], sort_asc); 
  4. print_r($arr); 
  5. ?> 
  6. //运行该例子输出: 
  7. array 
  8.     [0] => array 
  9.         ( 
  10.             [0] => 4 
  11.             [1] => 2 
  12.             [2] => 2 
  13.             [3] => 1 
  14.         ) 
  15.  
  16.     [1] => array 
  17.         ( 
  18.             [0] => d 
  19.             [1] => b 
  20.             [2] => c 
  21.             [3] => a 
  22.         ) 

array_multisort() 函数对多个数组或多维数组进行排序.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表