How to have a stable sort in PHP with arsort()?

后端 未结 7 727
迷失自我
迷失自我 2020-12-03 22:40

i need to sort an array in php based on value, array use some numbers for keys and values, for example like this:

$a = array(70 => 1 ,82          


        
7条回答
  •  孤街浪徒
    2020-12-03 23:12

    It is kinda a big workaround, but it does work:

    $a = array(70 => 1 ,82 => 5  ,61 => 3 ,55 => 1 ,34 => 2 ,53 => 2 ,21 => 4 ,13 => 5);
    $b = max($a);
    $c = min($a);
    $d = 0;
    $sorted_list = array();
    while($b >= $c){
        foreach($a as $key => $value){
            if($value == $b){
                $sorted_list[$key] = $value;
            }
        }
        $b--;
    }
    

    vardump output:

    array(8) { [82]=> string(1) "5" [13]=> string(1) "5" [21]=> string(1) "4" [61]=> string(1) "3" [34]=> string(1) "2" [53]=> string(1) "2" [70]=> string(1) "1" [55]=> string(1) "1" } 
    

提交回复
热议问题