Algoritmy s PHP |
Ján Guniš, PF UPJŠ, Košice |
Ďalším z rady cyklov v PHP je cyklus FOR. Je o niečo komplikovanejší ako cykly while a do while, ale je aj výkonnejší. Bližšie už tabuľka.
Príklad príkazu FOR | Vysvetlenie | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
for (výraz1; výraz2; výraz3) príkaz;
|
Pred začiatkom vykonávania cyklu FOR sa vyhodnotí výraz1. Potom sa vyhodnotí výraz2. Ak je jeho hodnota true (je pravdivý), vykoná sa telo cyklu, prikaz. Na konci každého prechodu telom cyklu sa vyhodnotí výraz3. Telo cyklu sa vykonáva tak dlho, pokiaľ je hodnota výrazu2 true. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
for ($a=1; $a<=10; ++$a) echo $a; |
Tento cyklus vypíše čísla od 1 do 10.
Na začiatku vykonávania cyklu sa do premennej $a priradí 0. Potom sa
vyhodnotí výraz $a<=10, vykoná sa príkaz echo a vyhodnotí sa výraz
++$a. A cyklus sa opakuje. Vyhodnotí sa $a<=10, vykoná sa príkaz
echo a vyhodnotí sa výraz ++$a... Cyklus skončí, keď hodnota $a bude väčšia ako 10. Takže po skončení cyklu je hodnota $a=11; |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "<table border=1>\r"; |
Tento program vypíše malú násobilku,
prehľadne zapísanú do tabuľky.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
echo "<table border=1>\r"; |
A opäť alternatívna (prehľadnejšia )
syntax príkazu FOR. Zátvorky {} sme nahradili ":" a slovíčkom
endfor. Tentoraz je tabuľka prehľadnejšia. Obsahuje aj popis riadkov a
stĺpcov.
|
Zvláštnosti:
V príkaze FOR môžeme vynechať ľubovoľný výraz. Ak vynecháme výraz2, považuje sa druhý výraz stále za pravdivý a dostaneme nekonečný cyklus. Aj nekonečný cyklus sa dá ukončiť, napr. príkazom break. Nasledujúci príklad vypíše čísla od 1 do 10.
for ($a=1;;++$a):
echo $a;
if ($a==10) break;
endfor;
Vo výrazoch môžeme použiť aj ",", čo nám umožní použiť viac výrazov. Nasledujúci príklad demonštruje inicializáciu dvoch premenných:
for ($a=1,$b=10;$a<10;$a++)
Ak použijeme čiarku v druhom výraze, ako podmienka pre ukončenie cyklu sa použije posledný výraz.