Befüllung mehrdimensionaler Arrays mit Zahlen in Reihenfolge in PHP
In den vorherigen Beispielen waren alle Zahlen in den Unterarrays gleich. Lassen Sie uns dies nun so gestalten, dass die Zahlen ansteigen, wie folgt:
<?php
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
?>
Dazu muss eine spezielle Zählervariable erstellt werden,
die ihren Wert um
1 bei jeder Iteration der inneren
Schleife erhöht. Den Wert dieses Zählers werden wir
in das Array schreiben, wie folgt:
<?php
$arr = [];
$k = 1; // Zähler
for ($i = 0; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
$arr[$i][$j] = $k; // Zähler schreiben
$k++; // Zähler erhöhen
}
}
var_dump($arr);
?>
Der Code kann verkürzt werden, indem die Definition des Zählers
in die erste Schleife gelegt wird, und k++ - in die zweite:
<?php
$arr = [];
for ($i = 0, $k = 1; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++, $k++) {
$arr[$i][$j] = $k;
}
}
var_dump($arr);
?>
Man kann auch die Erhöhung des Zählers nach der Zuweisung durchführen:
<?php
$arr = [];
for ($i = 0, $k = 1; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
$arr[$i][$j] = $k++;
}
}
var_dump($arr);
?>
Beachten Sie, dass in diesem Fall unbedingt
k++ stehen muss, und nicht ++k, da die zweite Variante
zuerst die Erhöhung des Zählers durchführt und erst dann die Zuweisung
ins Array (das Ergebnis wäre also ein Array, das mit Zwei beginnt,
und nicht mit Eins).
Erstellen Sie mit Hilfe von zwei verschachtelten Schleifen das folgende Array:
<?php
[[1, 2], [3, 4], [5, 6], [7, 8]]
?>
Erstellen Sie mit Hilfe von zwei verschachtelten Schleifen das folgende Array:
<?php
[[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]]
?>
Erstellen Sie mit Hilfe von drei verschachtelten Schleifen das folgende dreidimensionale Array:
<?php
[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
?>