php如何获取数组的长度,使用php函数count(),或是sizeof()
例如:
echo count($arr);
// 输出 5
$arr = array(‘A’,’B’,’C’);
echo sizeof($arr);
//输出3
两函数功能一样,手册上讲,sizeof()是函数count()的别名。
那么多维数组长度要怎么统计呢?继续看例子
比如你读取的数组是一个二维数组:
复制代码 代码如下:
<?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是不是有新闻信息,就要这样写了:
复制代码 代码如下:
<?php
if(is_array($arr) && count($arr,COUNT_NORMAL)>0 )
{
…..
} else {
…..
}
?>
你可以使用这样的代码来测试该函数:
复制代码 代码如下:
<?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 “
“;
echo ‘统计多维数组:’.count($arr,1);//count($arr,COUNT_RECURSIVE)
?>