代码之家  ›  专栏  ›  技术社区  ›  Jaquarh

在PHP中,如何根据值对数组进行排序?

php
  •  0
  • Jaquarh  · 技术社区  · 3 年前
    array(3) { [0]=> int(1) [1]=> int(100) [2]=> int(6) }
    

    我想按最大-最小的数字顺序对下面的数组进行排序。

    预期输出:

    array(3) { [0]=> int(100) [1]=> int(6) [2]=> int(1) }
    

    然而,当我使用 asort($arr, SORT_NUMERIC) sort($arr, SORT_NUMERIC) 我得到了一个意想不到的结果:

    array(3) { [0]=> int(6) [1]=> int(100) [2]=> int(1) }
    
    0 回复  |  直到 3 年前
        1
  •  -1
  •   vee    3 年前

    PHP sort() SORT_NATURAL 旗帜

    应该是。。。

    sort($array, SORT_NATURAL);
    // or
    rsort($array, SORT_NATURAL);
    

    测验:

    $array = [1, 100, 6];
    
    sort($array, SORT_NATURAL);
    
    var_dump($array);
    
    rsort($array, SORT_NATURAL);
    var_dump($array);
    

    数组(大小=3)0=>int 1 1=>int 6 2=>int 100

    数组(大小=3)0=>int 100 1=>int 6 2=>int 1