dougu5886 2012-12-10 13:23
浏览 79
已采纳

分页,从多维PHP阵列排序?

Paging ,Sorting from Multi-Dim PHP Array?

Array
(
    [0] => Array
        (
            'name' => 'A'
            'Date' => 12-10-1990
            'Grade' => '20D'
            'Level' => 'A10'
        )

    [1] => Array
        (
            'name' => 'C'
            'Date' => 10-10-1990
            'Grade' => '10C'
            'Level' => 'C10'    
        )

    [2] => Array
        (
            'name' => 'B'
            'Date' => 12-11-1995
            'Grade' => '13E'
            'Level' => 'A8'
        )
)

Could anybody know how todo this(paging,sorting)? example display in html table:

Name (asc/desc) | Date (asc/desc)| Grade (asc/desc)| Level(asc/desc)

Thanks

  • 写回答

2条回答 默认 最新

  • dongzhuo1930 2012-12-10 13:33
    关注

    from http://php.net/manual/en/function.array-multisort.php

    <?php
    $data[] = array('volume' => 67, 'edition' => 2);
    $data[] = array('volume' => 86, 'edition' => 1);
    $data[] = array('volume' => 85, 'edition' => 6);
    $data[] = array('volume' => 98, 'edition' => 2);
    $data[] = array('volume' => 86, 'edition' => 6);
    $data[] = array('volume' => 67, 'edition' => 7);
    ?>
    

    In this example, we will order by volume descending, edition ascending. We have an array of rows, but array_multisort() requires an array of columns, so we use the below code to obtain the columns, then perform the sorting.

    <?php
    // Obtain a list of columns
    foreach ($data as $key => $row) {
        $volume[$key]  = $row['volume'];
        $edition[$key] = $row['edition'];
    }
    
    // Sort the data with volume descending, edition ascending
    // Add $data as the last parameter, to sort by the common key
    array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
    ?>
    
    The dataset is now sorted, and will look like this:
    volume | edition
    -------+--------
        98 |       2
        86 |       1
        86 |       6
        85 |       6
        67 |       2
        67 |       7
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?