php的array_multisort()使用方法介绍 |
使用 array_multisort()函数对多个数组或多维数组进行排序的函数,正在研究数组排序、多维数组排序的朋友可以看看 。 函数 bool array_multisort ( array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR [, mixed $...]]] ) 参数说明: 函数对多个数组或多维数组进行排序 第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志 复制代码 代码如下: <?php $arr1 = array(10, 11, 100, 100, a); $arr2 = array(1, 2, 3, 2, 5); array_multisort($arr1, $arr2); ?> 结果为: 下边就是使用的实例,手册上的例子不列了,就我自己工作中的几个 。 工作中碰到最多的可能就是二维数组了,想试试三维数组,但是想想还是算了 。 复制代码 代码如下: header(Content-Type: text/html; charset=utf-8); echo <pre>; //原始数组格式 $array = array( key1 => array( item1 => 65, item2 => 35, item3 => 84, ), key2 => array( item1 => 24, ), key3 => array( item1 => 38, item3 => 45, ), ); //要排序的键 //按照数组中的 item1进行排序 //你也可以换成item2 $sort = item1; foreach($array as $k => $v) { $newArr[$k] = $v[$sort]; } //这个函数如果执行正确他会直接改变原数组键值的顺序 //如果执行失败,那么他会返回 bool(false) array_multisort($newArr,SORT_DESC, $array); var_dump($array); //---------------------排序后的数组打印效果 开始-------------------- array(3) { ["key1"]=> array(3) { ["item1"]=> string(2) "65" ["item2"]=> string(2) "35" ["item3"]=> string(2) "84" } ["key3"]=> array(2) { ["item1"]=> string(2) "38" ["item3"]=> string(2) "45" } ["key2"]=> array(1) { ["item1"]=> string(2) "24" } } //---------------------排序后的数组打印效果 结束--------------------- |