数组排序在很多编程中都会应用到,常见的就是冒泡排序,其实在php中 提供了对数组排序的内置方法,不需要使用冒泡排序,而且内置的方法效率还要高一些 本例中讲解了关于使用php内置数组排序的方法 array_multisort () 对二位数组按照指定键值排序的使用方法 本例中定义了一个名为 $data 的二维数组,然后对它进行排序,方法如下 $data [] = array ( 'volume' => 67, 'edition' => 2); $data [] = array ( 'volume' => 86, 'edition' => 1); $data [] = array ( 'volume' => 85, 'edition' => 6); $data [] = array ( 'volume' => 98, 'edition' => 2); $data [] = array ( 'volume' => 86, 'edition' => 6); $data [] = array ( 'volume' => 67, 'edition' => 7); // 取得列的列表 foreach ( $data as $key => $row ) { $volume [ $key ] = $row [ 'volume' ]; $edition [ $key ] = $row [ 'edition' ]; } // 将数据根据 volume 降序排列,根据 edition 升序排列 // 把 $data 作为最后一个参数,以通用键排序 array_multisort ( $volume , SORT_DESC, $edition , SORT_ASC, $data ); print_r( $data ); 执行后打印结果如下: Array ( [0] => Array ( [volume] => 98 [edition] => 2 ) [1] => Array ( [volume] => 86 [edition] => 1 ) [2] => Array ( [volume] => 86 [edition] => 6 [3] => Array ( [volume] => 85 [edition] => 6 ) [4] => Array ( [volume] => 67 [edition] => 2 ) [5] => Array ( [volume] => 67 [edition] => 7 ) ) |