最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • PHP数组函数natsort()的用法

    natsort

    (PHP 4, PHP 5)

    natsort —
    用“自然排序”算法对数组排序

    说明

    bool natsort ( array &$array )

    本函数实现了一个和人们通常对字母数字字符串进行排序的方法一样的排序算法并保持原有键/值的关联,这被称为“自然排序”。本算法和通常的计算机字符串排序算法(用于
    sort())的区别见下面示例。

    参数

    array

    输入的 array。

    返回值

    成功时返回 TRUE, 或者在失败时返回 FALSE

    更新日志

    版本
    说明
    5.2.10
    Zero padded numeric strings (e.g., ‘00005’) now essentially ignore the 0 padding.

    范例

    Example #1 natsort() examples demonstrating basic usage

    <?php
    $array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
    
    asort($array1);
    echo "Standard sortingn";
    print_r($array1);
    
    natsort($array2);
    echo "nNatural order sortingn";
    print_r($array2);
    ?>
    

    以上例程会输出:

    Standard sorting
    Array
    (
        [3] => img1.png
        [1] => img10.png
        [0] => img12.png
        [2] => img2.png
    )
    Natural order sorting
    Array
    (
        [3] => img1.png
        [2] => img2.png
        [1] => img10.png
        [0] => img12.png
    )
    

    For more information see: Martin Pool’s » Natural Order String Comparison
    page.

    Example #2 natsort() examples demonstrating potential gotchas

    <?php
    echo "Negative numbersn";
    $negative = array('-5','3','-2','0','-1000','9','1');
    print_r($negative);
    natsort($negative);
    print_r($negative);
    
    echo "Zero paddingn";
    $zeros = array('09', '8', '10', '009', '011', '0'); 
    print_r($zeros);
    natsort($zeros);
    print_r($zeros);
    
    echo "Other characters interferingn";
    $images_oops = array('image_1.jpg','image_12.jpg', 'image_21.jpg', 'image_4.jpg');
    print_r($images_oops);
    natsort($images_oops);
    print_r($images_oops);
    
    echo "Sort by keysn";
    $smoothie = array('orange' => 1, 'apple' => 1, 'yogurt' => 4, 'banana' => 4);
    print_r($smoothie);
    uksort( $smoothie, 'strnatcmp');
    print_r($smoothie);
    ?>
    

    以上例程会输出:

    Negative numbers
    Array
    (
        [0] => -5
        [1] => 3
        [2] => -2
        [3] => 0
        [4] => -1000
        [5] => 9
        [6] => 1
    )
    Array
    (
        [2] => -2
        [0] => -5
        [4] => -1000
        [3] => 0
        [6] => 1
        [1] => 3
        [5] => 9
    )
    Zero padding
    Array
    (
        [0] => 09
        [1] => 8
        [2] => 10
        [3] => 009
        [4] => 011
        [5] => 0
    )
    Array
    (
        [5] => 0
        [1] => 8
        [3] => 009
        [0] => 09
        [2] => 10
        [4] => 011
    )
    Other characters interfering
    Array
    (
        [0] => image_1.jpg
        [1] => image_12.jpg
        [2] => image_21.jpg
        [3] => image_4.jpg
    )
    Array
    (
        [0] => image_1.jpg
        [3] => image_4.jpg
        [1] => image_12.jpg
        [2] => image_21.jpg
    )
    Sort by keys
    Array
    (
        [orange] => 1
        [apple]  => 1
        [yogurt] => 4
        [banana] => 4
    )
    Array
    (
        [apple]  => 1
        [banana] => 4
        [orange] => 1
        [yogurt] => 4
    )
    

    参见

    natcasesort() – 用“自然排序”算法对数组进行不区分大小写字母的排序
    数组排序函数对比
    strnatcmp() – 使用自然排序算法比较字符串
    strnatcasecmp() – 使用“自然顺序”算法比较字符串(不区分大小写)

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » PHP数组函数natsort()的用法
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情