PHP: Separando o resultado por blocos

Não sei se o título seria bem este, mas a idéia é mostrar o resultado, separado por blocos.

No exemplo abaixo, os blocos são divididos quando estiverem com 4 itens.

A grande jogada, está na utilização do operador % (módulo). Este operador trabalha com o resto de uma divisão.

0%4 resto = 0
1%4 resto maior que 0
2%4 resto maior que 0
3%4 resto maior que 0
4%4 resto = 0
5%4 resto maior que 0 e assim por diante

8%4 resto = 0
9%4 resto maior que 0

<style type="text/css">
.bloco{ border:1px solid #000;margin-bottom:4px; }	
</style>
<?
$count 	= 9;
$texto	= "texto";
if( $count > 0){
  echo "<div id='bloco1' class='bloco'>";
  for ($i = 0; $i < $count; $i++) {
    if($i%4 == 0 && $i != 0)
    {
      echo "</div><div id=\"bloco".(($i/4)+1)."\" class='bloco'>";
    }
    echo "<span>".$texto." ".$i."</span><br />";
  }
  echo "</div>";
}
?>

Resultado:
———–
| texto 0 |
| texto 1 |
| texto 2 |
| texto 3 |
———–

———–
| texto 4 |
| texto 5 |
| texto 6 |
| texto 7 |
———–

———–
| texto 8 |
———–

2 comentários em “PHP: Separando o resultado por blocos

  • 1 de julho de 2014 em 12:35
    Permalink

    Muito bom, parabéns, me ajudou muito.
    Abraços.

    Resposta
  • 4 de outubro de 2015 em 2:07
    Permalink

    Depois de horas pensando numa boa solução, encontrei essa. Exatamente a solução perfeita para o caso que estou fazendo. Muito obrigado! =)

    Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *