首页 > 语言 > PHP > 正文

PHP实现对二维数组某个键排序的方法

2024-05-04 23:49:50
字体:
来源:转载
供稿:网友

本文实例讲述了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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选