Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP - Adding divs to a foreach loop every 4 times [duplicate]

Tags:

php

I need a little help with a foreach loop.

Basically what i need to do is wrap a div around the output of the data every 4 loops.

I have the following loop:

foreach( $users_kicks as $kicks ) {     echo $kicks->brand; } 

For every 4 times it echos that out i want to wrap it in a so at the end it will look like so:

<div>     kicks brand     kicks brand     kicks brand     kicks brand </div> <div>     kicks brand     kicks brand     kicks brand     kicks brand </div> <div>     kicks brand     kicks brand     kicks brand     kicks brand </div> 

and so on.

Cheers

like image 587
BigJobbies Avatar asked Jan 06 '12 05:01

BigJobbies


2 Answers

$count = 1; foreach( $users_kicks as $kicks )  {     if ($count%4 == 1)     {            echo "<div>";     }     echo $kicks->brand;     if ($count%4 == 0)     {         echo "</div>";     }     $count++; } if ($count%4 != 1) echo "</div>"; //This is to ensure there is no open div if the number of elements in user_kicks is not a multiple of 4 
like image 132
Ninja Avatar answered Sep 24 '22 03:09

Ninja


This answer is very late - but in case people see it - this is a cleaner solution, no messy counters and if statements:

foreach (array_chunk($users_kicks, 4, true) as $array) {     echo '<div>';     foreach($array as $kicks) {          echo $kicks->brand;     }     echo '</div>'; } 

You can read about array_chunk on php.net

like image 29
Laurence Avatar answered Sep 24 '22 03:09

Laurence