一开始遇到array_multisort这个函数的时候,看手册的时候一直搞不懂为什么。后来在网上看了很多例子,渐渐明白了。现在写下来并保存。1、一维数组排序$a=array("Dog","Cat","Horse","Bear","Zebra");array_multisort($a);print_r($a);Result:Array([0]=>Bear[1]=>Cat[2]=>Dog[3]=>Horse[4]=>Zebra)以上按普通字母升序排列(A,B,C,D...),无话可说。二、多个一维数组排序$ar1=array(22,12,3);$ar2=数组(1,3,7);array_multisort($ar1,$ar2);echo'
';print_r($ar1);print_r($ar2);结果:Array([0]=>3[1]=>12[2]=>22)Array([0]=>7[1]=>3[2]=>1)$ar1和$ar2的数据可以看成一张表如下:$ar1和$ar2分别是列名,然后select*fromtableorderby$ar1asc,$ar2asc像SQL语句一样可以进行排序三、多维数组排序通常$data=array(array('id'=>67,'score'=>20,'name'=>'小明'),array('id''=>86,'score'=>10,'name'=>'小红'),array('id'=>85,'score'=>60,'name'=>'小花'));foreach($dataas$key=>$row){$id[$key]=$row['id'];$score[$key]=$row['score'];}array_multisort($id,SORT_ASC,$data);echo"";print_r($data);结果:数组([0]=>Array([id]=>67[score]=>2[name]=>小明)[1]=>Array([id]=>85[score]=>6[name]=>小华)[2]=>Array([id]=>86[score]=>1[name]=>Xiaohong))此时将id、score、name作为列名如图。如果要按某个字段排序,先循环获取这个字段的所有值组成一个数组,然后按这个字段排序,然后像SQL语句一样select*fromtableorderby$idasc排序