程式碼寫的不好。有更高校的排序方法,希望貼出來,學習學習
/**
* 根據欄位排序
* asc正向排序 desc逆向排序 nat自然排序
* @param [type] $array 需要排序的陣列
* @param [type] $field 指定排序的欄位
* @param string $sortby 排序型別
* @return arrayOrbool 排完序的新陣列或者排序失敗
*/
public function listSortBy($array, $field, $sortby = 'asc')
{
if (is_array($array)) {
$refer = $resultSet = array();
foreach ($array as $key => $data) {
$refer[$key] = &$data[$field];
}
switch ($sortby) {
case 'asc': // 正向排序
asort($refer);
break;
case 'desc': // 逆向排序
arsort($refer);
break;
case 'nat': // 自然排序
natcasesort($refer);
break;
}
foreach ($refer as $k => $val) {
$resultSet[] = &$array[$k];
}
return $resultSet;
}
return false;
}