<?php $arr=array(array('A','b',1),//这是一个乱序的二维数组样本(3列8行) array('B','a',2), array('A','c',3), array('A','a',3), array('B','c',0), array('A','d',1), array('B','a',2), array('A','d',0)); function compare($x,$y) /****************************************************************** 自定义二维数组组合排序比较方式,自定义的组合排序方式为(列0+列2+列1), 如果用sort()函数排序,其默认是按所有列依顺序组合来排序。 ******************************************************************/ { if($x[0]==$y[0]) { if($x[2]==$y[2]) { if($x[1]==$y[1]) return 0; else if($x[1]<$y[1]) return -1; else return 1; } else if($x[2]<$y[2]) return -1; else return 1; } else if($x[0]<$y[0]) return -1; //可以任意负数 else return 1; //可以任意正数 } usort($arr,'compare');//执行自定义排序函数 echo "<pre />"; print_r($arr); ?>