zoukankan      html  css  js  c++  java
  • 分享:PHP数组排序总结

    本文内容:PHP二维数组排序,PHP数组排序总结。
    php数组排序是PHP学习中最基础也是最重要的一部分。
    1、常规数组的排序
    常规数组是指数组各元素均为字符串或数字,这与这样的数组,我们可以采用sort()函数对他进行排序。
    示例:
    <?php  
    $people=array('name','sex','nation','birth');  
    echo "---原数组---<br />";  
    foreach ($people as $mychrs)  
        echo $mychrs." ";  
    sort($people);  
    echo "<br />---sort()函数排序后---<br />";  
    foreach ($people as $mychrs)  
        echo $mychrs." ";  
    ?>  
    输出:
    ---原数组---
    name sex nation birth
    ---sort()函数排序后---
    birth name nation sex
    Sort()函数还具有第二参数,用来说明升序的规则是用来比较数字还是字符串的。
    示例:
    <?php  
    echo "---按数字升序排序---<br />";  
    $num2=array('30','5',);  
    sort($num2,SORT_NUMERIC);  
    foreach ($num2 as $mychrs)  
        echo $mychrs." ";  
    echo "<br />---按字符升序排序---<br />";  
    $num3=array('30','5');  
    sort($num3,SORT_STRING);  
    foreach ($num3 as $mychrs)  
        echo $mychrs." ";  
    ?>  
    输出:
    ---按数字升序排序---
    5 30
    ---按字符升序排序---
    30 5
    这里关键就是SORT_NUMERIC和SORT_STRING参数的使用
    sort()函数是对数组做升序排列,同样还有降序排列函数rsort(),他的使用方法与sort()函数一样,这里就不在说了。
    2、数组倒序排序
    也就是说把原数组倒序存放,这里我们用到array_reverse()函数。
    示例:
    <?php  
    $ut=array('uncletoo','php','mysql','oracle');  
    echo "--原数组--<br />";  
    foreach ($ut as $mychrs)  
    echo $mychrs." ";  
    $ut=array_reverse($ut);  
    echo "<br />--array_reverse倒序--<br />";  
    foreach ($ut as $mychrs)  
    echo $mychrs." ";  
    ?>  
    输出:
    --原数组--
    uncletoo php mysql oracle
    --array_reverse倒序--
    oracle mysql php uncletoo
    3、数组随机排序
    PHP中使用shuffle()函数将数组元素进行随机的重新排序
    示例
    <?php  
    $ut=array('uncletoo','php','mysql','oracle');  
    shuffle($ut);  
    foreach ($ut as $mychrs)  
    echo $mychrs." ";  
    ?>  
    刷新浏览器,每次输出的排序都不一样。
    4、有键值数组的排序
    对于常规数组我们用sort()和rsort()函数进行排序,那么如果数组中有键值,我们就要用其他函数了。先看示例:
    <?php  
    $peoples=array('name'=>'张三','sex'=>'男','age'=>'15','site'=>'www.jbxue.com');  
    echo "--原数组--<br />";  
    foreach ($peoples as $mychrs)  
        echo $mychrs." ";  
    echo "<br />--按元素值升序排列--<br />";  
    asort($peoples);  
    foreach ($peoples as $mychrs)  
        echo $mychrs." ";  
    echo "<br />--按关键字升序排列--<br />";  
    ksort($peoples);  
    foreach ($peoples as $mychrs)  
        echo $mychrs." ";  
    ?>  
    输出:
    --原数组--
    张三 男 15 www.jbxue.com
    --按元素值升序排列--
    15 www.jbxue.com 男 张三
    --按关键字升序排列--
    15 张三 男 www.jbxue.com
    这里,用到了asort()和ksort()函数,分别是对元素和键值做升序排列,对应的,他们的降序排列分别是arsort()和krsort()函数,他们的用法是一样的。
    以上简单介绍了PHP数组的几种排序函数及其用法。
  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3489946.html
Copyright © 2011-2022 走看看