码迷,mamicode.com
首页 > 编程语言 > 详细

使用php对多维维数组排序。

时间:2014-12-11 15:36:22      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   ar   color   使用   sp   for   

要多php的多维数组排序,可以使用php里的内置函数:array_multisort();

语法:array_multisort(array1,sorting order,sorting type,array2,array3...)

参数                 描述
array1             必需。规定输入的数组。
sorting order    可选。规定排列顺序。可能的值是 SORT_ASC 和 SORT_DESC。
sorting type     可选。规定排序类型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。
array2             可选。规定输入的数组。
array3             可选。规定输入的数组。

 

实例:

 1 <?php
 2     $data = array();//要排序的二维数组
 3     $randChar = "abcdefghijklmnopqrstuwvxyz";
 4     for($i=0; $i<100; $i++){
 5         $randn = rand(100,999);
 6         $randc = $randChar[rand(0,25)];
 7         $data[] = array($randc.$randn, $randn, $randn.$randc);
 8     }
 9     $num = array();//要排序的数组,必须从$data中抽取出来
10     for($i=0; $i<100; $i++){
11         $num[] = $data[$i][2];
12     }
13     array_multisort($num, SORT_NUMERIC, $data);//进行排序,会根据数字排序
14 echo "<pre>"; 15   print_r($data); 16 echo "</pre>";

$data将会生成一个二维数组,$num必须是从$data数组里抽取出来的。

个人理解,虽然没看过里面的代码:先使用冒泡排序等算法将一维数组$num排好,然后,再利用一个for循环将$num跟二维数组$data里被抽取出来的数据做if判断。如果,相等的话,就在新数组中增加该数据。以下大图也可以实现array_multisort函数

bubuko.com,布布扣

 

使用php对多维维数组排序。

标签:des   style   blog   http   ar   color   使用   sp   for   

原文地址:http://www.cnblogs.com/sustudy/p/4157574.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!