php专区

 首页 > php专区 > PHP基础 > 数组 > php中count 多维数组长度统计实现方法 - php数组

php中count 多维数组长度统计实现方法 - php数组

分享到:
【字体:
导读:
          php中count多维数组长度统计实现方法,有需要的朋友可参考一下,代码如下:?php$numb=array(array(10,15,30),array(10,15,30),array(10,15,30...

php中count 多维数组长度统计实现方法

php中count多维数组长度统计实现方法,有需要的朋友可参考一下,代码如下:

  1. $numb=array(  
  2.   array(10,15,30),array(10,15,30),array(10,15,30)  
  3. );  
  4. echo count($numb,1); 
  5. ?> 
  6. A.3 
  7. B.12 
  8. C.6 
  9. D.9 
  10. //答案:B 

count函数中如果mode被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数(也就是你结果的12),如果不设置mode默认为0,不检测多维数组(数组中的数组)(结果3)。

首先遍历的是外面的数组array得出有两个元素("color1","color2","color3")为3,再遍历("color1","color2","color3")数组得出的是9个元素,为9,结果就是3+9=12,参考代码如下:

  1. $fruits = array ( 
  2.     array (1, 2,null,null, 5, 6), 
  3.     array (1, 2,null,null, 5, 6), 
  4. ); 
  5. echo(count($fruits[0])); 
  6. ?> 

你说的可能是用其他方式定义的数组,比如直接用如下代码:

  1. $fruits[0][0]=1; 
  2. $fruits[0][3]=1; 
  3. $fruits[0][4]=1; 
  4. echo(count($fruits[0])); 
  5. ?> 

这样那就输出3,因为php中的数组不要求索引必须连续,参考手册上有如下一段:

数组:PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此你可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个 PHP 数组作为值,也可以很容易地模拟树。

实例:获得二维或多维数组的第一维的长度,这是个常用的程序判断,比如你读取的数组是一个二维数组,代码如下:

  1. $arr=array
  2.            0=>array('title' => '新闻1''viewnum' => 123, 'content' => 'ZAQXSWedcrfv'), 
  3.              1=>array('title' => '新闻2''viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM'
  4.              ); 
  5. ?> 

如果你想统计数组$arr的长度,也就是说该二维数组只有两条新闻,你想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;

后来在php手册中发现,count函数还有第二个参数,解释如下:

count函数有两个参数:

0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);

1(或COUNT_RECURSIVE)为检测多维数组,所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:

  1. if(is_array($arr) && count($arr,COUNT_NORMAL)>0 ) 
  2.   ..... 
  3. else { 
  4.   ..... 
  5. ?> 

你可以使用这样的代码来测试该函数:

  1. $arr=array
  2.         0=>array('title' => '新闻1''viewnum' => 123, 'content' => 'ZAQXSWedcrfv'), 
  3.          1=>array('title' => '新闻2''viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM'
  4.            ); 
  5. echo '不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL) 
  6. echo "
    "
  7. echo '统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE) 
  8. ?> 
好了,到此位置,已经解决php中获取二维或多维数组的第一维长度的问题.
分享到:
php把数组保存数据库程序代码 - php数组
php把数组保存数据库程序代码 我们在做缓存文件时经常会要把php代码或数组转换成字符串保存到数据库中,下面我来介绍两种把数组保存到数据库的方法。 方法一:用serialize写入,再用unserialize输出 serialize()就是将PHP中的变量如对象(object),数组(array)等等的值序列化为字符串后存储起...
php删除数组元素几种方法 - php数组
php删除数组元素几种方法 在php要删除数组元素的方法有很多,php内置了为我们提供了两个函数array_slice() 和array_flip()大家可参考一下,我们先用php函数来实现: array_slice() 第一个参数是要切割的数组,第二个参数是起始位置,第三个参数是长度,就是 切割 $arr这个数组,从第0个元素往后...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……