PHP: Hallar múltiplos para las iteraciones de un bucle

Hay ocasiones en las que al hacer un bucle en PHP es necesario que la salida de una de las iteraciones tenga alguna peculiaridad, como que por ejemplo cada tres elementos de lista haya un atributo class.

Supongamos que tenemos el siguiente bucle:

$i=0;
while ($valor < $numero) {
 echo '<li>'.$elemento[$i].'</li>'
 $i  ;
}

Supongamos que queremos que aparezca una clase cada tres elementos de lista, tendremos que meter esa clase en los elementos en los que la variable $i sea múltiplo de tres:

$i=0;
while ($valor < $numero) {
 $k = $i-1; //Para corregir el problema de que se empieza a contar de 0 
 if ($k % 3 == 0) {$clase = ' class="tercero"';}
 echo '<li'.$clase.'>'.$elemento[$i].'</li>'
 $i  ;
}

De esta forma el elemento de lista que sea múltiplo de 3 llevará la clase tercero.

Saber más en Programación en PHP/Bucles (Wikilibros).

3 respuestas a «PHP: Hallar múltiplos para las iteraciones de un bucle»

  1. En el segundo fragmento de código, en el bucle while, a partir del primer multiplo de 3 la variable $clase quedará definida como ‘class=»tercero»‘ para todos los consiguientes.
    El ejemplo está bien, es claro y coherente, pero puede confundir a cualquiera que ejecute el código con fines auto-didácticos, viendo como resultado algo parecido a esto:
    ‘.$elemento[$i].’
    ‘.$elemento[$i].’
    ‘.$elemento[$i].’
    ‘.$elemento[$i].’
    ‘.$elemento[$i].’
    ….

    bonito blog!
    saludos!

  2. Al limpiar html en el comentario anterior no queda muy claro, el resultado sería algo asi:

    1- li
    2- li
    3- li class=tercero
    4- li class=tercero
    5- li class=tercero
    6- li class=tercero
    …..

Los comentarios están cerrados.