⊗ppPmMdNF 140 of 447 menu

Het vullen van multidimensionale arrays met opeenvolgende nummers in PHP

In de vorige voorbeelden waren alle nummers in de subarrays hetzelfde. Laten we het nu zo maken dat de nummers oplopen, zoals dit:

<?php [[1, 2, 3], [4, 5, 6], [7, 8, 9]] ?>

Hiervoor is een speciale tellervariabele nodig, die zijn waarde met 1 verhoogt bij elke iteratie van de innerlijke lus. De waarde van deze teller zullen we in de array schrijven, zoals dit:

<?php $arr = []; $k = 1; // teller for ($i = 0; $i < 3; $i++) { for ($j = 0; $j < 3; $j++) { $arr[$i][$j] = $k; // schrijven de teller $k++; // verhogen de teller } } var_dump($arr); ?>

De code kan worden verminderd door de definitie van de teller in de eerste lus te plaatsen, en k++ - in de tweede:

<?php $arr = []; for ($i = 0, $k = 1; $i < 3; $i++) { for ($j = 0; $j < 3; $j++, $k++) { $arr[$i][$j] = $k; } } var_dump($arr); ?>

Het is ook mogelijk om de teller te verhogen na toewijzing:

<?php $arr = []; for ($i = 0, $k = 1; $i < 3; $i++) { for ($j = 0; $j < 3; $j++) { $arr[$i][$j] = $k++; } } var_dump($arr); ?>

Let op dat in dit geval het verplicht k++ moet zijn, en niet ++k, omdat de tweede optie eerst de teller verhoogt en pas daarna schrijft naar de array (wat betekent dat de array zal beginnen met twee, en niet met één).

Vorm met behulp van twee geneste lussen de volgende array:

<?php [[1, 2], [3, 4], [5, 6], [7, 8]] ?>

Vorm met behulp van twee geneste lussen de volgende array:

<?php [[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]] ?>

Vorm met behulp van drie geneste lussen de volgende driedimensionale array:

<?php [[[1, 2], [3, 4]], [[5, 6], [7, 8]]] ?>
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren