记一次产品需求中的数组排序方法
PHP 根据数组中某个指定的字段进行排序
- 代码写的不好。有更高校的排序方法,希望贴出来,学习学习
/** * 根据字段排序 * 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; }
本作品采用《CC 协议》,转载必须注明作者和本文链接