cnqncom
V2EX  ›  PHP

问个数组排序的问题,求帮忙

  •  1
     
  •   cnqncom · Oct 4, 2017 · 4052 views
    This topic created in 3329 days ago, the information mentioned may be changed or developed.
    array(6) {
    [0]=>
    string(3) "111"
    [1]=>
    string(3) "333"
    [2]=>
    string(3) "555"
    [3]=>
    string(3) "222"
    [4]=>
    string(3) "444"
    [5]=>
    string(3) "666"
    }


    如果想这样排序,请问有什么简便的方法?
    array(6) {
    [0]=>
    string(3) "111"
    [1]=>
    string(3) "222"
    [2]=>
    string(3) "333"
    [3]=>
    string(3) "444"
    [4]=>
    string(3) "555"
    [5]=>
    string(3) "666"
    }
    12 replies  •  2017-11-10 15:15:33 +08:00
    huntzhan
    huntzhan
    Oct 4, 2017
    1
    没看懂,我觉得你可能需要锻炼一下表述能力
    jhdxr
    jhdxr
    Oct 4, 2017
    2
    asort
    jhdxr
    jhdxr
    Oct 4, 2017
    3
    不对,这不是直接 sort 就能搞定的吗?问题在哪?
    xzem
    xzem
    Oct 4, 2017 via Android
    4
    楼主是认为当值是字符串数字时没法直接用 sort 吗?
    crab
    crab
    Oct 4, 2017
    5
    冒泡排序下
    Sikoay
    Sikoay
    Oct 4, 2017 via Android
    6
    先转换为 int 再比较排序啊
    messyidea
    messyidea
    Oct 4, 2017
    7
    字符串默认的比较函数不就是字典序么
    shiny
    shiny
    Oct 4, 2017
    8
    <?php
    $items =["111", "333", "555", "222", "444", "666"];
    sort($items);
    var_dump($items);


    结果没有问题吧,担心哪天 PHP 行为不按数字类型比较的话,翻手册 sort 有个参数可以设置成 SORT_NUMERIC
    60791151
    60791151
    Oct 5, 2017
    9
    转成 int 然后再排序
    gouchaoer
    gouchaoer
    Oct 5, 2017 via Android
    10
    在业务代码里你不需要知道是 int 还是 string,而且印象里从数据库查到的数据都是 string
    zhx1991
    zhx1991
    Oct 5, 2017
    11
    想这样排是怎么排?

    规则没说清楚啊

    99 比 0111 大还是小? 输入有除了 0-9 的其它字符吗?

    字符串长度有限制吗?
    aimerforreimu
    aimerforreimu
    Nov 10, 2017
    12
    ```php
    $test = array
    (
    '111','222','444','555','777','333','666'
    );

    sort($test);
    echo '<pre>';

    var_dump($test);
    ```

    直接用 sort 啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1046 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 18:08 · PVG 02:08 · LAX 10:08 · JFK 13:08
    ♥ Do have faith in what you're doing.