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 相关文章推荐
Blitz templates 最快的PHP模板引擎
Apr 06 PHP
PHP中全面阻止SQL注入式攻击分析小结
Jan 30 PHP
ThinkPHP写第一个模块应用
Feb 20 PHP
浅析php中抽象类和接口的概念以及区别
Jun 27 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
php中的常用魔术方法汇总
Feb 14 PHP
PHP数据库操作三:redis用法分析
Aug 16 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP+MySQL实现模糊查询员工信息功能示例
Jun 01 PHP
PHP+MySQL实现在线测试答题实例
Jan 02 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简单实现多字节字符串翻转的方法
2015/03/31 PHP
PHP页面输出时js设置input框的选中值
2016/09/30 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
javascript读写json示例
2014/04/11 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
python中嵌套函数的实操步骤
2019/02/27 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
python实现五子棋人机对战游戏
2020/03/25 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
Python restful框架接口开发实现
2020/04/13 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
求职自荐信怎么写
2014/03/06 职场文书
保证书格式范文
2014/04/28 职场文书
2014年电工工作总结
2014/11/20 职场文书
优秀教师事迹材料
2014/12/15 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
Python类方法总结讲解
2021/07/26 Python