| PHP - Část VII. (Cykly)
různé případy cyklů v PHP. Praktické ukázky jsou v našem seriálu samozřejmostí.
|
|
Cykly
Potřebujeme-li v PHP provést
opakovaně některou část skriptu, máme k dispozici tyto příkazy: while,
do-while, for. Těmto příkazům se říká příkazy
cyklů.
PŘÍKAZ WHILE
- tento příkaz slouží k opakování určité části skriptu, dokud platí
určitá podmínka. Je nejjednodušší z cyklických příkazů.
Říká se mu cyklus s podmínkou na začátku. Jeho syntaxe je následující:
while(podmínka)
{
jeden nebo více příkazů
}
Funkce je následující: nejprve je vyhodnocena podmínka,
jestliže vrací FALSE, cyklus je ignorován, a pokračuje se v běhu skriptu.
Pokud podmínka vrací TRUE, provedou se příkazy v
cyklu, a znovu se vyhodnotí podmínka. Příkazy cyklu jsou stále
vykonávány, dokud podmínka vrací TRUE.
Př.
<?
$i = 0;
while($i < 10)
{
echo "$i<BR>";
$i++;
}
?>
Tento skript pod sebe vypíše čísla od 0
do 9. Stejně jako u příkazů pro větvení skriptů (if...), existuje i pro příkaz
while alternativní syntaxe, která je vhodná pro psaní delších skriptů.
Vypadá takto:
<?
$i = 0;
while($i < 10):
echo "$i<BR>";
$i++;
endwhile;
?>
PŘÍKAZ DO-WHILE
- dalo by se říci, že tento příkaz je totožný s předcházejícím.
Určitý rozdíl zde však přece je. Podmínka je umístěna až na konci
cyklu, což má za následek, že příkazy cyklu jsou vždy vykonány alespoň
jednou, bez ohledu na podmínku. Po prvním vykonání se příkazy provádějí,
dokud platí zadaná podmínka. Syntaxe tohoto příkazu:
do
{
jeden nebo více příkazů
} while(podmínka);
Funkce: nejprve se provedou příkazy, potom
se vyhodnotí podmínka. Jestliže vrací TRUE, jsou příkazy opakovaně vykonávány,
dokud tato podmínka platí. Pokud podmínka vrací FALSE, pokračuje se v běhu
skriptu a příkazy tohoto cyklu se už dále neopakují.
Př.
<?
$i = 0;
do
{
echo "$i<BR>";
$i++;
} while($i < 10);
?>
Tento skript rovněž vypíše pod sebe čísla
od 0 do 9. Kdybychom však podmínku změnili na ($i
< 0), skript by vypsal jen 0. Pokud bychom použili předchozí příkaz
while a u něj ve stejném skriptu změnili podmínku
na ($i < 0), skript by nevypsal nic. K příkazu do-while
neexistuje žádná alternativní syntaxe.
PŘÍKAZ FOR
- tento příkaz se používá zejména ve složitějších cyklech, protože
je ze všech cyklických příkazů nejvýkonnější. Při použití příkazu
while, je většinou před cyklem umístěna definice nějaké čítačové proměnné.
Ta je na konci cyklu inkrementována nebo jinak aktualizována, potom je znovu
vyhodnocena podmínka a podle ní příkazy. Příkaz for řeší tyto problémy již v základní
syntaxi a tím značně zpřehledňuje skripty. Syntaxe vypadá takto:
for(definice čítačové proměnné;
podmínka; aktualizace čítačové proměnné)
{
jeden nebo více příkazů
}
Popis funkce: před začátkem provádění skriptu je zinicializována
čítačová proměnná. Potom je vyhodnocena podmínka. Pokud
vrací TRUE, provádějí se příkazy cyklu, v případě, že vrací FALSE,
provádějí se ostatní příkazy skriptu mimo cyklus. Po každém provedení příkazů cyklu se zaktualizuje
čítačová
proměnná.
Př.
<?
for($i = 0; $i < 10; $i++)
{
echo "$i<BR>";
}
?>
Tento skript pod sebe vypíše čísla od 0 do 9. I
pro tento příkaz existuje alternativní syntaxe:
<?
for($i = 0; $i < 10; $i++):
echo "$i<BR>";
endwhile;
?>
V zadání příkazu for můžeme
jakýkoliv výraz vynechat. Např. for(;;) echo "Toto je nekonečno";
Poslední výhodou tohoto příkazu je možnost použití několika výrazů místo
jednoho. Tyto výrazy se potom oddělují čárkou. Takto můžeme např.
zinicializovat více proměnných najednou:
for($i = 0, $j = 10; $i < $j; $i++) jeden nebo více příkazů;
V příštím článku si vysvětlíme několik
příkazů, které se mohou hodit v každém skriptu.
|
Hodnocení článku |
1 |
2 |
3 |
4 |
5 Aktuální známka: 2.66 (Počet známek: 5442)
|
|
|