本文实例讲述了PHP实现对二维数组某个键排序的方法。分享给大家供大家参考,具体如下:
/** * 对查询结果集进行排序 * @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;}/** * 例子 * 求:根据二维数组的id键值降序排列(也就是id越大的排在越前)? */$list = array(0 => array("id" => 1,"name" => "第一"),1 => array("id" => 3,"name" => "第三"),2 => array("id" => 2,"name" => "第二"),3 => array("id" => 4,"name" => "第四"),);//解答$new_list = list_sort_by($list, "id", "desc");print_r($new_list);
运行结果如下:
Array([0] => Array([id] => 4[name] => 第四)[1] => Array([id] => 3[name] => 第三)[2] => Array([id] => 2[name] => 第二)[3] => Array([id] => 1[name] => 第一))
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。