加入收藏 | 设为首页 | 会员中心 | 我要投稿 岳阳站长网 (https://www.0730zz.com.cn/)- 科技、建站、数据库平台、数据湖、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-07-24 10:08:46 所属栏目:PHP教程 来源:互联网
导读: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),
  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中获取二维或多维数组的第一维长度的问题.
 

(编辑:岳阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读