Количество div-ов в зависимости от количества значений в массиве на PHP

Допустим, есть массив: значение1, значение2, значение3
И мне нужен код, который будет генерировать div (пусть это будет ссылка xxx.yyy/zzz). Причём этих div-ов должно генерироваться несколько, в зависимости от количества значений в массиве. И в каждый div должно автоматически подставляться это значение (xxx.yyy/zzz/значение1; xxx.yyy/zzz/значение2 и так далее)
Массив и подставление значений я примерно понимаю, как реализовать. Но не могу понять момент генерации количества div-ов в зависимости от количества значений в массиве

По просьбе прописал код:

<div class="container">
<? $massive = array("значение1", "значение2", "значение3") ?>
<a href="xxx.yyy/zzz/'.$massive[0].'"></a>
<a href="xxx.yyy/zzz/'.$massive[1].'"></a>
<a href="xxx.yyy/zzz/'.$massive[2].'"></a>
</div>

Ответы (3 шт):

Автор решения: Алексей Шиманский

Но не могу понять момент генерации количества div-ов в зависимости от количества значений в массиве

А что тут понимать. Количество элементов в массиве узнаётся фукнкцией count. Вот и всё. Дальше делается цикл от 0 до данного числа (точнее обычно от i=0 до i<count. То есть строго меньше), а внутри тела цикла делается всё, что необходимо

→ Ссылка
Автор решения: Pashok

Тут всё просто. Берём ваш массив и для каждого элемента (foreach) делаем следующее:

<div class="container">
    <?php foreach($massive as $element): ?>
        <a href="xxx.yyy/zzz/<?= $element;?>"></a>
    <?php endforeach; ?>
</div>

Если у вас значения хранятся не просто в массиве, а в ассоциативном массиве, то можно сделать следующее:

<div class="container">
    <?php foreach($massive as $element): ?>
        <a href="xxx.yyy/zzz/<?= $element['value']; ?>"></a>
    <?php endforeach; ?>
</div>

Не стоить забывать, что:

foreach работает только с массивами и объектами, и будет генерировать ошибку при попытке использования с переменными других типов или неинициализированными переменными

Иными словами: надо проверить ваш massive на существование, и если он не существует (неинициализирован), то пропускать вывод. Ну, или делать что-то другое.

<div class="container">
    <?php if(!empty($massive)): ?>
        <?php foreach($massive as $element): ?>
            <a href="xxx.yyy/zzz/<?= $element['value']; ?>"></a>
        <?php endforeach; ?>
    <?php else: ?>
        some else
    <?php endif; ?>
</div>
→ Ссылка
Автор решения: Latex Moose

Опираясь на ответ от Pashok, я допилил решение данной проблемы:
(там слишком много тегов и функция endforeach, из-за которых первоначальное решение у меня не работало)

<div class="container"> //Контейнер, в котором будут генерироваться div-ы
   <?
      $massive = array("значение1", "значение2", "значение3"); 
      /*В данном случае можно использовать только индексированные массивы,
      или массивы, где ключами являются только числа*/
      foreach($massive as $element) { //Запуск цикла
      /*$element - автоматически подставляемое значение из массива*/
         echo '<a href="xxx.yyy/zzz/'.$element.'"></a>'
      }
   ?>
</div>

По итогу получаем генерацию div-ов в количестве, равному количеству значений в массиве

→ Ссылка