For loop inside foreach PHP [duplicate]

Assuming that you’re always going to have 4 columns, you need to do some maths on your array. Something like the following should work:

$arr  = [ 'val1', 'val2', 'val3', 'val4', 'val5', 'val6', 'val7', 'val8' ];
$cols = 4;
$rows = ceil( count($arr) / $cols );

for( $r = 0; $r < $rows; $r++ )
{
    echo '<div class="row">';

    for( $c = 0; $c < $cols; $c++ )
    { 
        echo "\n\t".'<div class="col-md-'.(12 / $cols).'">'.$arr[($r * $cols) + $c].'</div>';
    }

    echo "\n".'</div>';
}

This code produces the following output:

<div class="row">
    <div class="col-md-3">val1</div>
    <div class="col-md-3">val2</div>
    <div class="col-md-3">val3</div>
    <div class="col-md-3">val4</div>
</div>
<div class="row">
    <div class="col-md-3">val5</div>
    <div class="col-md-3">val6</div>
    <div class="col-md-3">val7</div>
    <div class="col-md-3">val8</div>
</div>

Leave a Comment