PHP中数组元素升序、降序及重新排序的函数的方法

    作者:课课家更新于: 2015-11-07 10:42:48

    大神带你学编程,欢迎选课
    今天由小编为大家讲解有关语言编程的文章,相信对大家一定有很大的帮助

    c语言编程入门在数组学习摘录部分了解到最基本的PHP数组的建立和数组元素的显示。需要深入学习下PHP数组的相关操作。首先接触的就是数组元素的升序、降序的排序问题。
    1、快速创建数组的函数range()
    比如range()函数可以快速创建从1到9的数字数组:

    以下为引用的内容:
    $numbers=range(1,9);
    echo $numbers[1];
    ?>


    当然,使用range(9,1)则创建了9到1的数字数组。同时,range()还可以创建从a到z 的字符数组:

    以下为引用的内容:
    $numbers=range(a,z);
    foreach ($numbers as $mychrs)
        echo $mychrs." ";
    ?>


    使用字符数组时注意大小写,比如range(A,z)和range(a,Z)是不一样的。
    range()函数还具有第三个参数,该参数的作用是设定步长,比如range(1,9,3)创建的数组元素是:1、4、7
    2、PHP中常规数组的排序
    一般数组中的各元素均以字符或数字表现的,所以可对数组元素进行升序排列,该功能函数为sort()。比如:

    以下为引用的内容:
    $people=array('name','sex','nation','birth');
    foreach ($people as $mychrs)
        echo $mychrs." ";
    sort($people);
    echo "
    ---排序后---
    ";
    foreach ($people as $mychrs)
        echo $mychrs." ";
    ?>


    升序排序后的数组元素显示为 birth name nation sex,当然,sort()函数是区分字母大小写的(字母从大到小的顺序是:A…Z…a…z)
    Sort()函数还具有第二参数,用来说明升序的规则是用来比较数字还是字符串的。比如:

    以下为引用的内容:
    echo "---按数字升序排序---
    ";
    $num2=array('26','3',);
    sort($num2,SORT_NUMERIC);
    foreach ($num2 as $mychrs)
        echo $mychrs." ";
    echo "
    ---按字符升序排序---
    ";
    $num3=array('26','3');
    sort($num3,SORT_STRING);
    foreach ($num3 as $mychrs)
        echo $mychrs." ";
    ?>


    C语言视频教程SORT_NUMERIC和SORT_STRING用来声明按数字或字符的升序排列。如果按照数字升序排列是:3,26;但如果按照字符升序排列则是:26,3了。
    PHP中除了升序函数以外,还有降序或称反向排列的函数,就是rsort()函数,比如:

    以下为引用的内容:
    $num1=range(1,9);
    rsort($num1);

    在网站维护中,站长朋友常常要对网站数据进行备份,以免出现意外情况而造成数据的损失。一般的下载备份方法不仅麻烦而且速度缓慢。这时我们就可以使用程序提供的文件压缩功能来快速进行网站数据的备份。

    首先将需要备份的网站文件前的复选框选中,然后点击“添加到压缩文件”超连接,接着在弹出的对话框中输入文件名称,注意一定要输入以zip为后缀的压缩文件格式。确定后稍等片刻,一个文件压缩包就制作完成了。只需要将其下载,放置在安全的地方保存就可以了。
    在管理器主页面的功能菜单中选择“上传文件”按钮,将在网页最下方打开文件上传模块(如图2),点击“浏览”按钮选择本地文件,然后再点击上传即可。程序中的文件容量栏目会自动显示该文件占用网站空间的大小,文件大小会以KB或Byte两种单位显示。我们可以根据此功能方便的对网站文件进行整理归类操作;点击下载超连接可以将网站文件下载到本地硬盘,操作方式与普通下载方式无异,还可以使用迅雷等下载工具进行文件的高速下载;软件还提供了功能强大的编辑器(如图3),点击编辑连接后会显示文件的源代码,它还提供了本地预览与在线预览的功能,使网站文件的调试工作变得非常简单高效;


    这里其实就相当于range(9,1)
    3、PHP中关联数组的排序
    PHP除了支持数字索引数组以外,还支持相关数组。比如如下数组就是一个相关(关联)数组:

    以下为引用的内容:
    $peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');


    使用sort($peoples)默认即是按照元素定义值的升序排序,在关联数组中可使用asort()函数表示,关联数组中最主要的则是可按照关键字(如xm、xb、mz等)的升序排序,该方法是用函数ksort()函数。

    以下为引用的内容:
    $peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
    foreach ($peoples as $mychrs)
        echo $mychrs." ";
    echo "
    --按元素值升序排列--
    ";
    asort($peoples);
    foreach ($peoples as $mychrs)
        echo $mychrs." ";
    echo "
    --按关键字升序排列--
    ";
    ksort($peoples);
    foreach ($peoples as $mychrs)
        echo $mychrs." ";
    ?>


    和常规数组拥有sort()升序函数的反向排序rsort()降序函数相对应的,关联数组也有对应的降序函数:asort()函数和arsort()函数、ksort()函数和krsort()函数。
    记忆:原型函数是sort(),其中a、k表示关联数组相关必须前置,反向排序使用r修饰。
    4、PHP数组元素随机排序
    PHP中使用shuffle()函数将数组元素进行随机的重新排序,比如:

    以下为引用的内容:
    $fer=array('cnbruce','cnrose','cnjames','cnanne');
    shuffle($fer);
    foreach ($fer as $mychrs)
    echo $mychrs." ";
    ?>


    每次都会显示不同的排序组合
    5、c语言程序设计PHP数组按原顺序反向排序
    PHP中可使用array_reverse()函数将数组元素按原顺序反向排序。比如:

    以下为引用的内容:
    $fer=array('cnbruce','cnrose','cnjames','cnanne');
    foreach ($fer as $mychrs)
    echo $mychrs." ";
    $fer=array_reverse($fer);
    echo "
    --按原顺序反向--
    ";
    foreach ($fer as $mychrs)
    echo $mychrs." ";
    ?>
    cnbruce cnrose cnjames cnanne
    --按原顺序反向--
    cnanne cnjames cnrose cnbruce


    注意这里的 $fer=array_reverse($fer); 在此之前的任何排序函数均只是声明引用,并没有对原有数组进行重新定义,但当我调试该函数时则需要重新定义。这是因为array_reverse()是返回原数组修改后的副本,如果不需要原有数组,可对原数组重新定义达到覆盖的目的,否则就另外定义数组保存副本,比如:$fer_bak=array_reverse($fer);

    看完小编的文章是不是很精彩,更多关于在线教育的文章尽在课课家,希望你们多多关注。

课课家教育

未登录

1