在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧。
php如何获取数组的长度,使用php函数count(),或是sizeof()
例如:
1
2
3
4
5
6
|
$arr = Array( '0' , '1' , '2' , '3' , '4' );
echo count ( $arr );
// 输出 5
$arr = array ( 'A' , 'B' , 'C' );
echo sizeof( $arr );
//输出3
|
sizeof()和count()具有同样的用途,这两个函数都可以返回数组元素个数.可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0;
两函数功能一样,手册上讲,sizeof()是函数count()的别名。
那么多维数组长度要怎么统计呢?继续看例子
比如你读取的数组是一个二维数组:
1
2
3
4
5
6
|
<?php
$arr = array (
0=> array ( 'title' => '新闻1' , 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv' ),
1=> array ( 'title' => '新闻2' , 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM' )
);
?>
|
如果你想统计数组$arr的长度,也就是说该二维数组只有两条新闻,你想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;
后来在php手册中发现,count函数还有第二个参数,解释如下:
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组,
所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:
1
2
3
4
5
6
7
8
|
<?php
if ( is_array ( $arr ) && count ( $arr ,COUNT_NORMAL)>0 )
{
.....
} else {
.....
}
?>
|
你可以使用这样的代码来测试该函数:
1
2
3
4
5
6
7
8
9
10
|
<?php
$arr = array (
0=> array ( 'title' => '新闻1' , 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv' ),
1=> array ( 'title' => '新闻2' , 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM' )
);
echo '不统计多维数组:' . count ( $arr ,0); //count($arr,COUNT_NORMAL)
echo "<br/>" ;
echo '统计多维数组:' . count ( $arr ,1); //count($arr,COUNT_RECURSIVE)
?>
|
实际环境中我们大多数情况下都是用array().length获取长度即可。