php中count获取多维数组长度的方法


Posted in PHP onNovember 03, 2014

本文实例讲述了php中count获取多维数组长度的实现方法。分享给大家供大家参考。具体分析如下:

先来看看下面程序运行结果:

$numb=array( 

            array(10,15,30),array(10,15,30),array(10,15,30) 

); 

  

echo count($numb,1);

A.3
B.12
C.6
D.9
答案是B
count函数中如果mode被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数(也就是你结果的12)。如果不设置mode默认为0 。不检测多维数组(数组中的数组)(结果3)。

首先遍历的是外面的数组array得出有两个元素("color1″,"color2″,"color3″) 为3
再遍历("color1″,"color2″,"color3″)数组得出的是9个元素 为9
结果就是3+9=12

参考示例:

<?php

$fruits = array (

    array (1, 2,null,null, 5, 6),

    array (1, 2,null,null, 5, 6),

);

echo(count($fruits[0]));

?>

如果用其他方式定义的数组,比如:

<?php

$fruits[0][0]=1;

$fruits[0][3]=1;

$fruits[0][4]=1;

echo(count($fruits[0]));

?>

这样那就输出3,因为php中的数组不要求索引必须连续,参考手册上有如下一段:

数组:

PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此你可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个 PHP 数组作为值,也可以很容易地模拟树。

实例:

获得二维或多维数组的第一维的长度,这是个常用的程序判断,比如你读取的数组是一个二维数组:

<?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 "<br/>";

echo '统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)

?>

好了,到此位置,已经解决php中获取二维或多维数组的第一维长度的问题。

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
4.与数据库的连接
Oct 09 PHP
实用函数7
Nov 08 PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 PHP
php根据日期显示所在星座的方法
Jul 13 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
Nov 18 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
php传值方式和ajax的验证功能
Mar 27 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 PHP
Codeigniter(CI)框架分页函数及相关知识
Nov 03 #PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 #PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 #PHP
ThinkPHP查询语句与关联查询用法实例
Nov 01 #PHP
ThinkPHP分组下自定义标签库实例
Nov 01 #PHP
PHP根据两点间的经纬度计算距离
Oct 31 #PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 #PHP
You might like
PHP脚本的10个技巧(2)
2006/10/09 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
PHP explode()函数用法、切分字符串
2012/10/03 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
js活用事件触发对象动作
2008/08/10 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
Python的Django框架中设置日期和字段可选的方法
2015/07/17 Python
Python实现基本线性数据结构
2016/08/22 Python
Python实现针对中文排序的方法
2017/05/09 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
python unittest实现api自动化测试
2018/04/04 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
工作个人的自我评价
2014/01/14 职场文书
销售助理岗位职责
2014/02/21 职场文书
驾驶员培训方案
2014/05/01 职场文书
技术经济专业求职信
2014/09/03 职场文书
房屋维修协议书范本
2014/09/25 职场文书
检讨书范文大全
2015/05/07 职场文书
天气温馨提示语
2015/07/14 职场文书
高温慰问简报
2015/07/21 职场文书
2016高考冲刺决心书
2015/09/23 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书