Я отредактировал свой вопрос. Я пытаюсь перебрать каждый массив и использовать его внутри одного цикла 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>
Если это не самый чистый способ, дайте мне знать, но я думаю, что это то, что мне нужно.