#php #curl
#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.
Ответ №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>
Если это не самый чистый способ, дайте мне знать, но я думаю, что это то, что мне нужно.