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 相关文章推荐
第1次亲密接触PHP5(2)
Oct 09 PHP
PHP学习之PHP表达式
Oct 09 PHP
php学习笔记(三)操作符与控制结构
Aug 06 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
mac下安装nginx和php
Nov 04 PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 PHP
使用php转义输出HTML到JavaScript
Mar 27 PHP
CodeIgniter中使用Smarty3基本配置
Jun 29 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
PHP微信支付实例解析
Jul 22 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 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
mysql 搜索之简单应用
2007/04/27 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
Angular2 父子组件数据通信实例
2017/06/22 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
node+koa实现数据mock接口的方法
2017/09/20 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
详解详解Python中writelines()方法的使用
2015/05/25 Python
python简单分割文件的方法
2015/07/30 Python
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
Python实现抢购IPhone手机
2018/02/07 Python
Python实现的txt文件去重功能示例
2018/07/07 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
2021/01/26 Python
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
服装销售人员求职自我评价
2013/09/26 职场文书
大学生作弊检讨书
2014/02/19 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
司机岗位职责范本
2015/04/10 职场文书
运动会表扬稿范文
2015/05/05 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
Java对文件的读写操作方法
2022/04/29 Java/Android