⊗ppPmMdNF 140 of 447 menu

Naplňování vícerozměrných polí čísly postupně v PHP

V předchozích příkladech byla všechna čísla v podpolích stejná. Nyní udělejme to, aby čísla narůstala, takto:

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

K tomu je třeba vytvořit speciální proměnnou-čítač, která bude zvyšovat svou hodnotu o 1 při každé iteraci vnitřní smčky. Hodnotu tohoto čítače budeme zapisovat do pole, takto:

<?php $arr = []; $k = 1; // čítač for ($i = 0; $i < 3; $i++) { for ($j = 0; $j < 3; $j++) { $arr[$i][$j] = $k; // zapisujeme čítač $k++; // zvyšujeme čítač } } var_dump($arr); ?>

Lze kód zmenšit tím, že definici čítače umístíme do prvního cyklu a k++ - do druhého:

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

Lze také provést zvýšení čítače po přiřazení:

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

Všimněte si, že v tomto případě musí být nezbytně k++, a ne ++k, protože druhá varianta nejprve provede zvýšení čítače a teprve potom zápis do pole (tj. ve výsledku bude pole začínat dvojkou, a ne jedničkou).

Pomocí dvou vnořených cyklů vytvořte následující pole:

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

Pomocí dvou vnořených cyklů vytvořte následující pole:

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

Pomocí tří vnořených cyklů vytvořte následující trojrozměrné pole:

<?php [[[1, 2], [3, 4]], [[5, 6], [7, 8]]] ?>
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout