首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何打印PHP数组/JSON对象中的第n个元素?

如何打印PHP数组/JSON对象中的第n个元素?
EN

Stack Overflow用户
提问于 2018-07-31 04:06:54
回答 2查看 217关注 0票数 1

我有一些foreach循环,因为有一个多维数组/JSON对象。我尝试打印最后一个foreach循环的第n个元素(在本例中是第5个元素)。我尝试使用模数,但没有成功。

代码语言:javascript
复制
foreach($data['data'] as $k1=>$v1) {
 foreach($v1['cars'] as $k2=>$v2) {
  $counter= 1
   foreach($v2['colours'] as $k3=>$v3) {


        if ($counter % 5 == 0) {
      print $v3; //print every 5th colour
      $counter++;
      }


    }
   }  
  }
EN

回答 2

Stack Overflow用户

发布于 2018-07-31 04:09:40

您的计数器需要在if语句之外

代码语言:javascript
复制
$counter = 1;
foreach($data['data'] as $k1=>$v1) {
   foreach($v1['cars'] as $k2=>$v2) {
      foreach($v2['colours'] as $k3=>$v3) {
         if ($counter % 5 == 0) {
            print $v3; //print every 5th colour

         }
         $counter++;
     }
  }  
}

原因是每次执行循环时,您都希望计数器递增,而不是在条件为真时递增

票数 3
EN

Stack Overflow用户

发布于 2018-07-31 04:15:02

我相信你可以在5上array_chunk $v2并且只输出。

代码语言:javascript
复制
foreach($data['data'] as $k1=>$v1) {
 foreach($v1['cars'] as $k2=>$v2) {
   $temp = array_chunk($v2['colours'],5);
   foreach($temp as $val){
      echo $val[0];
   }
  }  
 }

这也比你的方法迭代次数少,因为它跳过了五个元素中的四个。

我的代码的简短演示:https://3v4l.org/GbU2T

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51601545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档