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 相关文章推荐
使用 php4 加速 web 传输
Oct 09 PHP
PHP 常见郁闷问题答解
Nov 25 PHP
php 日期时间处理函数小结
Dec 18 PHP
PHP句法规则详解 入门学习
Nov 09 PHP
php字符串分割函数explode的实例代码
Feb 07 PHP
php Calender(日历)代码分享
Jan 03 PHP
smarty获得当前url的方法分享
Feb 14 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
Jun 20 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
Zend Framework创建自己的动作助手详解
Mar 05 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
Feb 06 PHP
PHP rsa加密解密算法原理解析
Dec 09 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
人大复印资料处理程序_查询篇
2006/10/09 PHP
两个强悍的php 图像处理类1
2009/06/15 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
PHP响应post请求上传文件的方法
2015/12/17 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
JS扩展方法实例分析
2015/04/15 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
js变量提升深入理解
2016/09/16 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
[02:20]2014DOTA2西雅图邀请赛 MVP外卡赛首胜采访
2014/07/09 DOTA
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
Python使用gensim计算文档相似性
2016/04/10 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
python解析yaml文件过程详解
2019/08/30 Python
python3 求约数的实例
2019/12/05 Python
python 画图 图例自由定义方式
2020/04/17 Python
Flask处理Web表单的实现方法
2021/01/31 Python
聚美优品广告词改编
2014/03/14 职场文书
综合内勤岗位职责
2014/04/14 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
法人单位授权委托书范文
2014/10/06 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
党校个人总结
2015/03/04 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
护士心得体会范文
2016/01/25 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL