/* 数组排序 */ function array_sort( $data, $order = array() ) { if( !$data || !$order ) return $data; $arglist = array(); foreach($data as $k => $v) foreach($order as $k2 => $v2) { if( !isset($arglist[$k2]) ) $arglist[$k2] = array(); $arglist[$k2][$k] = $v[$k2]; } $argstr = ''; foreach( $order as $k => $v ) $argstr .= ',$arglist[\''.$k.'\'], SORT_'.$v; $argstr{0} = ' '; eval('array_multisort('.$argstr.',$data);'); return $data; }
说明:array_sort($data, $order)
参数:
array $data: 需要排序的数组
array $order: 排序,格式:array(‘键名’ => ‘DESC|ASC’…)
实例:
$array = array( array( 'uid' => 100, 'username' => 'kilobug', ), array( 'uid' => 99, 'username' => 'kilobug', ), .... ); $array = array_sort($array, array('uid' => 'DESC', 'username' => 'ASC')); var_dump($array);

Happy Additional Year one!
Happy new year!
Pleased Fresh Year everybody under the sun!
这里有一个数组,以右边的降序为优先排列,请教左边的如何按升序排序?
159 => 42
162 => 42
187 => 42
144 => 42
256 => 23
158 => 23
322 => 23
359 => 15