PHP foreach循环在foreach循环内部访问变量

时间:2019-04-24 02:57:19

标签: php curl

我已经编辑了我的问题。我试图遍历每个数组,并在一个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中的某个位置使用每个键值。

2 个答案:

答案 0 :(得分: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中。

答案 1 :(得分:0)

这是我正在做的事情,我认为这对我有用: 在第二个循环中,我什么都得到了

    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>

如果这不是最干净的方法,请告诉我,但我想这就是我的追求。