在上篇博文《从24到25,PHP数组(三)》中我们学习了合并数组以及字符串与数组间转换的相关知识。今天我们学习有关PHP数组的最后两个知识点:统计PHP数组元素个数以及数组的排序。对于PHP数组的学习所花费的篇幅及时间都是比较长的,足以证明PHP数组在总个PHP编程过程中的重要性。
一、统计PHP数组元素的个数
在《从22到23,PHP数组(一)》一文中我们知道了什么是PHP数组的元素,但是如何对一个数组的元素进行统计,得出一个数组中包含多少个元素呢?这个我们就必须用到count()函数对数组的元素个数进行统计。
语法:count(array[mode])
array——必选参数,需要统计的数组
mode——可选参数,COUNT_RECURSIVE(或1),如果选中此参数,本函数将递归对数组计数。对计算多维数组的所有单元尤为重要。
举例:
例一:
- <?php
- $a=array(“php”=>array(“php数组”,”php字符串”,”php字符串”),
- “zero”=>array(“数组”,”函数”));
- echo count($a,COUNT_RECURSIVE);
- ?>
复制代码
输出结果:
7
例二:
- <?php
- $a=array(“php数组”,”php字符串”,”php字符串”,”数组”,”函数”);
- echo count($a);
- ?>
复制代码
输出结果:
5
二、数组的排序
PHP提供了以多种不同方式对数组进行排序的函数,这些函数允许用户在数组内部对元素进行排列。通过排序可以对数据进行合理管理,提高程序的执行效率。
2.1、使用sort()函数对指定的数组进行升序排序
一般情况下数组中的元素都是无规律排序的,这样可能为数组元素的查找、定位带来很大的不便。如果使用sort对数组进行排序后,数组排序会变得更有规律,对数组的操作也会变得跟简单。
语法:sort(&array,[sort_flags])
&array——必选参数,指定需要排序的数组
sort_flags——可选参数,应用参数修改函数的默认行为。具体有以下几种参数
1、SORT_NUMERIC——元素被作为数字来比较
2、SORT_REGULAR——按相应的ASCII值对元素进行排序
3、按正常顺序对元素进行排序
实例:
- <?php
- $a=array(“1″,”15″,”9″,”18″,”4″);
- $b=sort($a);
- for($i=0;$i<count($a);$i++)
- {echo $a[$i].” ”;}
- ?>
复制代码
输出结果:
1 4 9 15 18
2.2、使用rsort()函数对指定的数组进行降序排序
rsort()与上面的函数正好相反,是按照降序来进行排序
原理基本差不多,因此我们直接看实例
实例:
- <?php
- $a=array(“1″,”15″,”9″,”18″,”4″);
- $b=rsort($a);
- for($i=0;$i<count($a);$i++)
- {echo $a[$i].” ”;}
- ?>
复制代码
输出结果:
18 15 9 4 1
2.3、关联数组排序
如果使用了相关数组,在排序后还要保持关键字和值的排序一致,这时就需要使用ksort()函数和asort()函数。
原理都和上面举得例子差不多,这里不多说,用实例来说明:
例1:
- <?php
- $a=array(‘书本’=>5,’教程’=>7,’学习’=>6);
- ksort($a);
- print_r($a);
- ?>
复制代码
输出结果:
Array ( [教程] => 7 [书本] => 5 [学习] => 6 )
例2:
- <?php
- $a=array(‘书本’=>5,’教程’=>7,’学习’=>6);
- asort($a);
- print_r($a);
- ?>
复制代码
输出结果:
Array ( [书本] => 5 [学习] => 6 [教程] => 7 )
从上例可得知:
ksort()函数是按照关键字进行排序
asort()函数是按照value值对数组进行升序排序。
好了到这里关于PHP数组的学习就够一段落,Zero认为通过四篇博文的学习对PHP数组有了一个比较详细的认识。对于这四篇博文的学习大家一定要参照知识点一级实例进行学习,尤其是代码部分一定要自己操作,并举一反三这样才能发现其中的奥妙所在。
|
上一篇: 从24到25,PHP数组(三)下一篇: 从26到27,PHP与web页面交互(一)
|