php中count获取多维数组长度的方法
2015-01-24信息快讯网
这篇文章主要介绍了php中count获取多维数组长度的方法,实例分析了数组的原理并总结了数组长度计算的方法,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了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通过Chianz.com获取IP地址与地区的方法
ucenter通信原理分析
php实现utf-8转unicode函数分享
php读取csv数据保存到数组的方法
php读取mssql的ntext字段返回值为空的解决方法
为PHP5.4开启Zend OPCode缓存
腾讯微博提示missing parameter errorcode 102 错误的解决方法
CentOS6.5 编译安装lnmp环境
php数组添加元素方法小结
php获取数组元素中头一个数组元素值的实现方法
thinkphp中session和cookie无效的解决方法
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
php中get_meta_tags()、CURL与user-agent用法分析
PHP使用array_multisort对多个数组或多维数组进行排序
php中Array2xml类实现数组转化成XML实例
php检测数组长度函数sizeof与count用法
PHP has encountered a Stack overflow问题解决方法
PHP屏蔽过滤指定关键字的方法
Codeigniter(CI)框架分页函数及相关知识
Thinkphp将二维数组变为标签适用的一维数组方法总结
ThinkPHP模板中数组循环实例
用 Composer构建自己的 PHP 框架之使用 ORM
用 Composer构建自己的 PHP 框架之设计 MVC
用 Composer构建自己的 PHP 框架之构建路由
用 Composer构建自己的 PHP 框架之基础准备
PHP清除数组中所有字符串两端空格的方法
PHP中echo,print_r与var_dump区别分析
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
PHP中file_get_contents高用法实例
php实现根据字符串生成对应数组的方法
PHP提示Cannot modify header information - headers already sent by解决方法
php中file_get_content 和curl以及fopen 效率分析
php数组中删除元素之重新索引的方法
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数