簡體   English   中英

PHP foreach循環在foreach循環內部訪問變量

[英]PHP foreach loop inside foreach loop accessing variables

我已經編輯了我的問題。 我試圖遍歷每個數組,並在一個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中的某個位置使用每個鍵值。

您的代碼片段在這里沒有意義:

    //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

這是我正在做的事情,我認為這對我有用:在第二個循環中,我得到了所有東西

    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>

如果這不是最干凈的方法,請告訴我,但我想這就是我的追求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM