Перебор цикла в php и отображение в 2 или в 5 рядов
Возник такой вопрос, есть цикл, который перебирает нужные данные для отображения (пример Города).
Делаем обычный перебор:
<div class="cities">
<?php
foreach ($arElemets as $value):?>
<div class="name"> <a href="#"><?=$value;?></a></div>
<?;endforeach; ?>
</div>
ПО верстке у меня идет таким образом, что нужно разместить по 2 элемента (из перебора) в 1 div class = cities, пример ниже:
<div class="cities">
<div class="name">
<a href="#">Москва</a>
</div>
<div class="name">
<a href="#">Перь</a>
</div>
</div>
<div class="cities">
<div class="name">
<a href="#">Москва</a>
</div>
<div class="name">
<a href="#">Перь</a>
</div>
</div>
НО сейчас получается что я могу перебрать только в одном диве (cities) Все и не могу разделить их по 2 элемента в блок div class="cities"
Вопрос, как сделать перебор таким образом, чтобы он каждые 2 элемента оформлял именно в класс ?
Ответы (1 шт):
Автор решения: InDevX
→ Ссылка
Как вариант, просто разбить массив, используя функцию array_chunk(), которая принимает первым аргументом исходный массив, а вторым - длину создаваемых "подмассивов" (в вашем случае 2)
foreach (array_chunk($array, 2) as $cities) {
echo '<div class="cities">';
foreach ($cities as $city) {
echo '<div class="name"><a href="#">'.$city.'</a></div>';
}
echo '</div>';
}