好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

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

<?php $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中count 多维数组长度统计实现方法 - php数组的详细内容...

  阅读:35次