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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
目录,文件操作详谈―PHP
Nov 25 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
PHP学习笔记之二
Jan 17 PHP
PHP投票系统防刷票判断流程分析
Feb 04 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
php实现删除指定目录下相关文件的方法
Oct 20 PHP
PHP易混淆函数的区别及用法汇总
Nov 22 PHP
thinkPHP学习笔记之安装配置篇
Mar 05 PHP
Linux下编译redis和phpredis的方法
Apr 07 PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 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中的正规表达式(二)
2006/10/09 PHP
php实现字符串翻转的方法
2015/03/27 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
跟我学习javascript的循环
2015/11/18 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
JS实现手风琴特效
2020/11/08 Javascript
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
python奇偶行分开存储实现代码
2018/03/19 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
python对于requests的封装方法详解
2019/01/03 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
Python爬取数据并实现可视化代码解析
2020/08/12 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
如何用JavaScipt测网速
2021/05/09 Javascript
Python+Appium自动化测试的实战
2021/06/30 Python
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
分享几个实用的CSS代码块
2022/06/10 HTML / CSS