+----------------------------------------------------------
* 对查询结果集进行排序
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @param array $list 查询结果
* @param string $field 排序的字段名
* @param string $sortby 排序类型
* asc正向排序 desc逆向排序 nat自然排序
+----------------------------------------------------------
* @return array
+----------------------------------------------------------
*/
function list_sort_by($list,$field, $sortby='asc') {
if(is_array($list)){
$refer = $resultset = array();
foreach ($list as $i => $data)
$refer[$i] = &$data[$field];
switch ($sortby) {
case 'asc': // 正向排序
asort($refer);
break;
case 'desc':// 逆向排序
arsort($refer);
break;
case 'nat': // 自然排序
natcasesort($refer);
break;
}
foreach ( $refer as $key=> $val)
$resultset[] = &$list[$key];
return $resultset;
}
return false;
}使用示例(下面的示例代码仅在thinkphp环境下面有效):$blog = m('blog');
$list = $blog->limit(10)->select();
$list1 = list_sort_by($list,'status','desc'); // 对结果集按照status字段逆向排序
$list2 = list_sort_by($list,'cate_id','asc'); // 对结果集按照cate_id字段正向排序 ad:真正免费,域名+虚机+企业邮箱=0元
