• Теория
  • Теория

Выводим элементы массива на страницу с помощью foreach

Мы научились добавлять один товар на страницу, но в каталоге их обычно больше. Потренируемся выводить несколько товаров. Думпо уже поправил название массива $item на $items и добавил в него данные о разных товарах.

Каждый элемент массива $items — ассоциативный массив с данными одного товара. Нам нужно вывести данные из каждого такого массива на страницу. Рассмотрим эту задачу на примере:

$flowers = [
  0 => [
    'name' => 'Ромашка',
    'cost' => 'free'
  ],
  1 => [
    'name' => 'Лилия',
    'cost' => 300
  ]
];

Воспользуемся циклом foreach. В круглых скобках цикла напишем уже знакомое:

<?php foreach ($flowers as $flower): ?>

<?php endforeach;?>

Теперь массивы внутри $flowers по очереди на каждой итерации будут записываться в переменную $flower.

Чтобы вывести на страницу название цветка из каждого массива, на каждой итерации нужно обращаться к ключу 'name'.

<?php foreach ($flowers as $flower): ?>
<p><?= $flower['name'] ?></p>
<?php endforeach;?>

На странице появятся два абзаца — по количеству элементов в массиве $flowers:

<p>Ромашка</p>
<p>Лилия</p>

Добавим в шаблон components/products_list.php цикл foreach и с его помощью выведем на страницу все товары из массива $items.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Массивы и циклы в PHP» тренажёра «Знакомство с PHP» можно после регистрации и оформления подписки.