按列值降序对二维数组进行排序[重复]

问题描述 投票:0回答:1

我有一个以下格式的关联数组。我需要按降序对数组进行排序,并按升序对具有相同值的数组进行排序。

$numArray = array();
$numArray[0]['Word'] = 'One';
$numArray[0]['Number'] = 10.00;
$numArray[1]['Word'] = 'Two';
$numArray[1]['Number'] = 10.00;
$numArray[2]['Word'] = 'Three';
$numArray[2]['Number'] = 10.00; 
$numArray[3]['Word'] = 'Four';
$numArray[3]['Number'] = 30.00;
$numArray[4]['Word'] = 'Five';
$numArray[4]['Number'] = 20.00; 
$numArray[5]['Word'] = 'Six';
$numArray[5]['Number'] = 10.00; 
$numArray[6]['Word'] = 'Seven';
$numArray[6]['Number'] = 20.00; 
$numArray[7]['Word'] = 'Eight';
$numArray[7]['Number'] = 20.00;

请帮我按以下顺序对数组进行排序。

Array
    (
        [0] => Array
            (
                [Word] => Four
                [Number] => 30
            )
    
        [1] => Array
            (
                [Word] => Five
                [Number] => 20
            )
    
        [2] => Array
            (
                [Word] => Seven
                [Number] => 20
            )
    
        [3] => Array
            (
                [Word] => Eight
                [Number] => 20
            )
    
        [4] => Array
            (
                [Word] => One
                [Number] => 10
            )
    
        [5] => Array
            (
                [Word] => Two
                [Number] => 10
            )
    
        [6] => Array
            (
                [Word] => Three
                [Number] => 10
            )
    
        [7] => Array
            (
                [Word] => Six
                [Number] => 10
            )
    
    )
php arrays sorting associative
1个回答
0
投票
foreach ($numArray as $key => $row) {
    $array[$key]  = $row['Number']; 
}


array_multisort($array, SORT_DESC, $numArray);

这个小小的 php 代码至少会根据 Number 对数组 desc 进行排序。 猜猜这就是你想要的一半。

© www.soinside.com 2019 - 2024. All rights reserved.