Очень простой и универсальный метод вывода новость или карточек товаров к колонках по 3, 4 или более. Это пример сделан для Bitrix но его можно использовать в любом CMS или другой язык программирование когда данные приходит в виде массва.

<?foreach(array_chunk($arResult["ITEMS"], $arParams["COLS_NUMBER"]) as $arPartItems):?>
 <div class="row">
    <?foreach($arPartItems as $arItem):?>
        <?
            $this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT"));
            $this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM')));
        ?>
        <div class="item" id="<?=$this->GetEditAreaId($arItem['ID']);?>" style="width:<?=floor(100/intval($arParams["COLS_NUMBER"]));?>%;">
        …
        /* здесь выводим данные об элементе: название, дату публикации, изображение для анонса, значение свойств */
        …
        </div>
    <?endforeach;?>
 </div>
<?endforeach;?>

$arParams[«COLS_NUMBER»] — это параметр задает количество колонок, в данном примере его задаем в настройки компонента.

Пример для вывода на PHP

<?
$col = 3;
foreach(array_chunk($array, $col) as $Items):
?>
<div class="row">
    <?
    foreach($Items as $Item):
        ?>
        <div class="item" >
        …
        /* здесь выводим данные об элементе: название, дату публикации, изображение для анонса, значение свойств */
        …
        </div>
        <?
    endforeach;
    ?>
</div>
<?
endforeach;
?>