sort array in DESC order

后端 未结 4 1757
情深已故
情深已故 2020-12-30 07:28

How can i sort this array by arrray key

array(
4 => \'four\',
3 => \'three\',
2 => \'two\',
1 => \'one\',
)

like this



        
相关标签:
4条回答
  • 2020-12-30 08:08

    If you just want to reverse the order, use array_reverse:

    $reverse = array_reverse($array, true);
    

    The second parameter is for preserving the keys.

    0 讨论(0)
  • 2020-12-30 08:09

    If you want to sort the keys in DESC order use:

    krsort($arr);
    

    If you want to sort the values in DESC order and maintain index association use:

    arsort($arr);
    

    If you want to sort the values in DESC natural order and maintain index association use:

    natcasesort($arr);
    $arr = array_reverse($arr, true);
    
    0 讨论(0)
  • 2020-12-30 08:17

    You have an array, you want to sort it by keys, in reverse order -- you can use the krsort function :

    Sorts an array by key in reverse order, maintaining key to data correlations. This is useful mainly for associative arrays.


    In you case, you'd have this kind of code :

    $arr = array(
        1 => 'one',
        2 => 'two',
        3 => 'three',
        4 => 'four',
    );
    
    krsort($arr);
    var_dump($arr);
    

    which would get you this kind of output :

    $ /usr/local/php-5.3/bin/php temp.php
    array(4) {
      [4]=>
      string(4) "four"
      [3]=>
      string(5) "three"
      [2]=>
      string(3) "two"
      [1]=>
      string(3) "one"
    }
    


    As a sidenode : if you had wanted to sort by values, you could have used arsort -- but it doesn't seem to be what you want, here.

    0 讨论(0)
  • 2020-12-30 08:29

    Try krsort() - that will sort in reverse using the array key, whereas rsort will sort on the array value.

    0 讨论(0)
提交回复
热议问题