php echo dans les lignes de trois?
Question
Je tente de montrer les données en lignes de trois comme celui-ci (notez le nombre d'articles ne sera pas toujours même):
abcd defg hijk lmno pqrs tuvw xyz1 2345 6789 1011 1213
Je me bats pour obtenir le droit logique de le faire (ce qui est dans une boucle de foreach()
).
Je sais que je dois avoir une certaine logique de if($i %3 == 0)
là-dedans .. Mais je suis un peu coincé.
aide quelqu'un peut me sortir?
La solution
$a = array('abcd','defg','hijk','lmno');
for ($i = 0; $i < count($a); $i++) {
if ($i && $i % 3 == 0)
echo '<br />';
echo $a[$i].' ';
}
Autres conseils
Il est préférable d'utiliser une boucle de for
comme:
// run $i for each index in the array.
for($i=0 ; $i<count($arr) ; $i++) {
// if $i is non-zero and is divisible by 3 print a line break.
if ($i && $i % 3 == 0) {
echo "<br />";
}
// print the element at index $i.
echo $arr[$i].' ';
}
Code pseudo-car je ne sais pas PHP (et vous demandé la logique qui tend à être la même dans toutes les langues de procédure):
perline = 3
i = 0
foreach item in list:
if i > 0 and (i % perline) == 0:
print newline
if (i % perline) != 0:
print space
print item
i = i + 1
Ce sera à la fois la sortie d'un séparateur de ligne avant éléments 3, 6, 9 et ainsi de suite (premier élément étant 0) et endroit que ce soit vous désiré espacement voulez avant les deuxième et troisième éléments de chaque ligne. Vous pouvez simplement utiliser une valeur différente pour perline
pour changer la sortie du numéro sur chaque ligne.