Remplissage de tableaux multidimensionnels avec des nombres en ordre séquentiel en PHP
Dans les exemples précédents, tous les nombres dans les sous-tableaux étaient identiques. Faisons maintenant en sorte que les nombres augmentent, comme ceci :
<?php
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
?>
Pour cela, il faut créer une variable compteur spéciale,
qui augmentera sa valeur de
1 à chaque itération de la boucle
interne. C'est la valeur de ce compteur que nous
écrirons dans le tableau, comme ceci :
<?php
$arr = [];
$k = 1; // compteur
for ($i = 0; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
$arr[$i][$j] = $k; // nous écrivons le compteur
$k++; // nous augmentons le compteur
}
}
var_dump($arr);
?>
On peut réduire le code en mettant la définition du compteur
dans la première boucle, et k++ - dans la seconde :
<?php
$arr = [];
for ($i = 0, $k = 1; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++, $k++) {
$arr[$i][$j] = $k;
}
}
var_dump($arr);
?>
On peut aussi faire l'augmentation du compteur après l'assignation :
<?php
$arr = [];
for ($i = 0, $k = 1; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
$arr[$i][$j] = $k++;
}
}
var_dump($arr);
?>
Veuillez noter que dans ce cas, il doit
obligatoirement s'agir de k++, et non de ++k, car la deuxième option
effectuera d'abord l'augmentation du compteur, et seulement ensuite l'écriture
dans le tableau (c'est-à-dire qu'en conséquence le tableau commencera par deux,
et non par un).
Formez à l'aide de deux boucles imbriquées le tableau suivant :
<?php
[[1, 2], [3, 4], [5, 6], [7, 8]]
?>
Formez à l'aide de deux boucles imbriquées le tableau suivant :
<?php
[[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]]
?>
Formez à l'aide de trois boucles imbriquées le tableau tridimensionnel suivant :
<?php
[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
?>