Discuz教程网

从25到26,PHP数组(四)

[复制链接]
authicon 09927306 发表于 2011-1-2 10:40:26 | 显示全部楼层 |阅读模式
    在上篇博文《从24到25,PHP数组(三)》中我们学习了合并数组以及字符串与数组间转换的相关知识。今天我们学习有关PHP数组的最后两个知识点:统计PHP数组元素个数以及数组的排序。对于PHP数组的学习所花费的篇幅及时间都是比较长的,足以证明PHP数组在总个PHP编程过程中的重要性。
    一、统计PHP数组元素的个数
   在《从22到23,PHP数组(一)》一文中我们知道了什么是PHP数组的元素,但是如何对一个数组的元素进行统计,得出一个数组中包含多少个元素呢?这个我们就必须用到count()函数对数组的元素个数进行统计。
   语法:count(array[mode])
   array——必选参数,需要统计的数组
   mode——可选参数,COUNT_RECURSIVE(或1),如果选中此参数,本函数将递归对数组计数。对计算多维数组的所有单元尤为重要。
   举例:
例一:

  1. <?php
  2. $a=array(“php”=>array(“php数组”,”php字符串”,”php字符串”),
  3.           “zero”=>array(“数组”,”函数”));
  4.       echo count($a,COUNT_RECURSIVE);
  5. ?>
复制代码

输出结果:
7
例二:

  1. <?php
  2. $a=array(“php数组”,”php字符串”,”php字符串”,”数组”,”函数”);
  3.       echo count($a);
  4. ?>
复制代码

输出结果:
5

    二、数组的排序
    PHP提供了以多种不同方式对数组进行排序的函数,这些函数允许用户在数组内部对元素进行排列。通过排序可以对数据进行合理管理,提高程序的执行效率。
    2.1、使用sort()函数对指定的数组进行升序排序
    一般情况下数组中的元素都是无规律排序的,这样可能为数组元素的查找、定位带来很大的不便。如果使用sort对数组进行排序后,数组排序会变得更有规律,对数组的操作也会变得跟简单。
    语法:sort(&array,[sort_flags])
    &array——必选参数,指定需要排序的数组
    sort_flags——可选参数,应用参数修改函数的默认行为。具体有以下几种参数
    1、SORT_NUMERIC——元素被作为数字来比较
    2、SORT_REGULAR——按相应的ASCII值对元素进行排序
    3、按正常顺序对元素进行排序
    实例:
  1. <?php
  2. $a=array(“1″,”15″,”9″,”18″,”4″);
  3. $b=sort($a);
  4. for($i=0;$i<count($a);$i++)
  5. {echo $a[$i].”&nbsp;&nbsp;”;}
  6. ?>
复制代码

输出结果:
1  4  9  15  18

    2.2、使用rsort()函数对指定的数组进行降序排序
    rsort()与上面的函数正好相反,是按照降序来进行排序
    原理基本差不多,因此我们直接看实例
    实例:
  1. <?php
  2. $a=array(“1″,”15″,”9″,”18″,”4″);
  3. $b=rsort($a);
  4. for($i=0;$i<count($a);$i++)
  5. {echo $a[$i].”&nbsp;&nbsp;”;}
  6. ?>
复制代码


输出结果:
18  15  9  4  1

    2.3、关联数组排序
    如果使用了相关数组,在排序后还要保持关键字和值的排序一致,这时就需要使用ksort()函数和asort()函数。
    原理都和上面举得例子差不多,这里不多说,用实例来说明:
例1:

  1. <?php
  2. $a=array(‘书本’=>5,’教程’=>7,’学习’=>6);
  3. ksort($a);
  4. print_r($a);
  5. ?>
复制代码

输出结果:
Array ( [教程] => 7 [书本] => 5 [学习] => 6 )

例2:

  1. <?php
  2. $a=array(‘书本’=>5,’教程’=>7,’学习’=>6);
  3. asort($a);
  4. print_r($a);
  5. ?>
复制代码

输出结果:
Array ( [书本] => 5 [学习] => 6 [教程] => 7 )
    从上例可得知:
    ksort()函数是按照关键字进行排序
    asort()函数是按照value值对数组进行升序排序。
    好了到这里关于PHP数组的学习就够一段落,Zero认为通过四篇博文的学习对PHP数组有了一个比较详细的认识。对于这四篇博文的学习大家一定要参照知识点一级实例进行学习,尤其是代码部分一定要自己操作,并举一反三这样才能发现其中的奥妙所在。





上一篇:从24到25,PHP数组(三)
下一篇:从26到27,PHP与web页面交互(一)
authicon kurt226 发表于 2011-6-17 12:00:02 | 显示全部楼层
前来看看那
authicon 卡卡猫 发表于 2011-6-18 03:59:46 | 显示全部楼层
这个还是不错的!
authicon 82xiaochong911 发表于 2011-6-21 06:00:17 | 显示全部楼层
顶你一下,好贴要顶!
authicon Cute宝贝儿 发表于 2011-6-25 21:59:53 | 显示全部楼层
顶你一下,好贴要顶!
authicon 蓝天blue 发表于 2011-6-25 22:00:06 | 显示全部楼层
好耶!功能强大啊
authicon 皆无 发表于 2011-6-27 06:59:41 | 显示全部楼层
好耶!功能强大啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-8-3 05:59

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表