首页 > 代码库 > 使用php对多维维数组排序。
使用php对多维维数组排序。
要多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函数
使用php对多维维数组排序。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。