【问题标题】:PHP foreach loop inside foreach loop accessing variablesforeach循环内的PHP foreach循环访问变量
【发布时间】:2019-04-24 02:57:18
【问题描述】:

我已经编辑了我的问题。我正在尝试遍历每个数组并在一个 foreach 循环中使用它,这可能吗?

foreach ($exhibitor as $exhibitors)
{
    //Foreach loop of each variable we need
    foreach ($exhibitorsLoop as $i) {
        $names[] = $i['exhibitor']['exhname'];
        $logos[] = $i['exhibitor']['onlinelogo'];
        //Sponsorship level 2-11
        $packages[] = $i['exhibitor']['package'];
        $descriptions[] = $i['exhibitor']['description'];
        $websites[] = $i['exhibitor']['website'];
    }
}

我打算如何使用它

        <div>
            <img class="img-responsive" src="<?php $logo ?>" alt="">
        </div>
        <div class="col-sm-8">
            <h1 style="margin-top:0;"><?php echo $name; ?></h1>
            <h2><?php echo $website; ?></h2>
        </div>

当我打印一个值时,例如 print_r($logos),我得到了所有的值。当我写一个 foreach 循环比如

foreach ($names as $name) {
 echo $name;
}

它也返回值。但我无法让它在 html 块中正确返回。我是否需要为每个数组(名称、徽标、包等)编写一个 foreach 循环?

我尝试了几种不同的数组合并方法,但没有给出我想要的最终结果。我想让每个参展商循环播放并在 html 中的某处使用每个键值。

【问题讨论】:

    标签: php curl


    【解决方案1】:

    您的代码片段在这里没有意义:

        //sub loop foreach 
        foreach ($jsonLoop as $i) {
    
        //example data
        $data= $i['value']['subvalue'];
    
        }
    

    因为您多次重置$data,但最后这个变量将只存储最后一个值。我认为你需要的只是:

        //example data
        $data[] = $jsonLoop;
    

    而不是你的第二部分:

    <?php foreach ($item as $items)
        foreach ($jsonLoop as $i) : ?>
    
    <div class="col-sm-12">
        testing: <?php echo $data ?>
    </div>
    
    <?php endforeach; ?>
    

    只需输出您收集的数据:

        print_r($data);
    

    如果您需要格式化 html,您可以对其进行扩展,但您现在只需要在 $data 中即可。

    【讨论】:

      【解决方案2】:

      这是我的做法,我认为这对我有用: 在第二个循环中,我得到了一切

          foreach ($exhibitorsLoop as $i) {
            $data[] = $exhibitorsLoop;
          }
      
      

      然后在 HTML 中,我专门从数组中调用我需要的内容

      <table>
          <?php foreach ($data as $d) : ?>
            <tr>
              <td> <?php echo $d[0]['exhibitor']['exhname']; ?> </td>
              <td> <?php echo $d[0]['exhibitor']['onlinelogo']; ?> </td>
            </tr>
          <?php endforeach; ?>
      </table>
      

      如果这不是最干净的方式,请告诉我,但我认为这就是我所追求的。

      【讨论】:

        猜你喜欢
        • 2016-09-26
        • 2012-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-27
        • 2012-11-11
        • 1970-01-01
        • 2023-04-06
        相关资源
        最近更新 更多