Créer des tableaux avec N cellules par ligne (modulo)
Modulo kezako
L'opérateur modulo est représenté par "%" en informatique.
Definition
Il y a une definition sur wikipédia http://fr.wikipedia.org/wiki/Arithm%C3%A9tique_modulaire mais il faut s'accrocher :)
je vais donc donner une définition simple !
a % b est le reste de la division entière de a par b
en prenant un exemple :
13 % 10 = 3
parce que 13 / 10 = 1 reste 3
Exemple
tester le code suivant
<?php
for($i=0;$i<16;$i++){
echo "$i % 4 =".($i%4)."<br />";
}
?>
qui devrait vous donner
0 % 4 =0
1 % 4 =1
2 % 4 =2
3 % 4 =3
4 % 4 =0
5 % 4 =1
6 % 4 =2
7 % 4 =3
8 % 4 =0
9 % 4 =1
10 % 4 =2
11 % 4 =3
12 % 4 =0
13 % 4 =1
14 % 4 =2
15 % 4 =3
explication de 2%4 : combien de fois on peut mettre 4 dans 2, 0 fois donc il reste 2
Trève de matématique et passons à la pratique
<?php
$nb = 3; //nombre de cellule par ligne
echo "<table border=1>\n";
for($i=0;$i<16;$i++){
$start = ($i%$nb == 0)?"<tr>":""; //si 1ere élement on commence une ligne
$end = ($i%$nb == $nb-1)?"</tr>\n":""; //si dernier élément on finit la ligne
echo "$start<td>$i</td>$end"; //on affiche
}
echo "</table>\n";
?>
qui retournera le code <table border=1>
<tr><td>0</td><td>1</td><td>2</td></tr>
<tr><td>3</td><td>4</td><td>5</td></tr>
<tr><td>6</td><td>7</td><td>8</td></tr>
<tr><td>9</td><td>10</td><td>11</td></tr>
<tr><td>12</td><td>13</td><td>14</td></tr>
<tr><td>15</td></table>
ceci est un exemple d'utilisation du modulo, d'autre solution sont possible en utilisant les if différament. Il n'y a jamais une solution.
Article publié le par telnes.
