PHP二维数组排序(list_order)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
 * 对二维数组进行排序
 * 模拟 数据表记录按字段排序
 *
 * <code>
 *  @list_order($list, $get['orderKey'], $get['orderType']);
 * </code>
 * @param array $array 要排序的数组
 * @param string $orderKey 排序关键字/字段
 * @param string $orderType 排序方式,'asc':升序,'desc':降序
 * @param string $orderValueType 排序字段值类型,'number':数字,'string':字符串
 * @link http://www.cnblogs.com/52php/p/5668809.html
 */
function list_order(&$array, $orderKey, $orderType = 'asc', $orderValueType = 'string') {
    if (is_array($array)) {
        $orderArr = array();
        foreach ($array as $val) {
            $orderArr[] = $val[$orderKey];
        }
        $orderType = ($orderType == 'asc') ? SORT_ASC : SORT_DESC;
        $orderValueType = ($orderValueType == 'string') ? SORT_STRING : SORT_NUMERIC;
        array_multisort($orderArr, $orderType, $orderValueType, $array);
    }
}

应用:

1
@list_order($list, $get['orderKey'], $get['orderType'], "string");

 

延伸阅读:

PHP array_multisort() 函数详解 及 二维数组排序(模拟数据表记录按字段排序)

posted @   52php  阅读(1899)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示