PHP – 4. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

PHP – 4. lekcePHP – 4. lekce

 

PHP – 4. lekce

Google       Google       22. 6. 2005       34 553×

Minule jsme si povídali o řídicích strukturách a také jsme již probrali příkaz if. Dnes se podíváme na příkazy while, for a foreach.

Dnes se zase posuneme o kousek dále a objasníme si další řídicí struktury, které můžeme používat.

Příkaz while

Pro příkaz while po překladu do češtiny zjistíme, že se jedná o příkaz když.



Podmínka uvedená v závorce se provede, pokud její hodnota bude TRUE. Když bude hodnota FALSE, neprovede se nic.

Zde máme jednoduchý příklad použití:



V naší ukázce jsme proměnné $i přiřadili hodnotu 1 a stanovili podmínku. Když bude tato proměnná menší nebo rovna 10, zobrazíme tuto proměnnou a následně ji zvětšíme o 1.

Využití příkazu while je idealní pro zobrazování varovných hlášek při špatném odeslání formuláře nebo něčeho podobného.

Dalším užitečným příkazem pro nás bude příkaz for.

Příkaz for



První výraz (expr1) je ohodnocen (proveden) jednou, bezpodmínečně, na začátku cyklu. Na začátku každé iterace je ohodnocen výraz expr2. Pokud má hodnotu TRUE, cyklus pokračuje a zpracovává se kód uvnitř cyklu. Je-li naopak jeho hodnota FALSE, provádění cyklu končí. Na konci každé iterace se ohodnotí (provede) výraz expr3.

Každý z výrazů může být prázdný. Prázdný výraz expr2 znamená, že cyklus bude probíhat nekonečně dlouho (PHP, stejně jako C, implicitně předpokládá hodnotu TRUE). To nemusí být tak bez užitku, jak si můžete myslet. Často můžete totiž chtít ukončit cyklus pomocí podmíněného příkazu break (ale o tom jindy), namísto použití pravdivostního výrazu v příkazu cyklu for.

Klasický příklad:


0;$i--):
echo $i;
endfor;
//i toto funguje
for ($i=0;$i<10;$i++):
if($i==5):
echo "Prave jsme dosahli pozadovane hodnoty ".$i;
else:
echo $i;
endif;
endfor;
//stejne tak se to da zapsat i takto
for ($i=0;$i<10;$i++)
{
 if($i==5){
  echo "Prave jsme dosahli pozadovane hodnoty ".$i;
 }
 else{
  echo $i;
 }
}
?>

Od verze PHP 4 máme k dispozici i příkaz foreach.

Příkaz foreach

PHP 4 (ne PHP 3) zahrnuje příkaz foreach, podobně jako Perl a různé další jazyky. To poskytuje snadný způsob k iteraci přes pole. Existují dvě syntaxe. Ta druhá je menším, avšak užitečným rozšířením té první:


 $value) statement
?>

První forma traverzuje pole dané výrazem array_expression. V každé iteraci je hodnota aktuálního elementu přiřazena do $value a vnitřní ukazatel na pole je zvýšen o jednotku (tzn. v příští iteraci budete hledět na následující element).

Druhá forma dělá totéž, kromě toho, že aktuální klíč elementu bude v každé iteraci přiřazen do proměnné $key.

Poznámka: Když foreach začne provádění první iterace, je vnitřní ukazatel automaticky nastaven na první element pole. To znamená, že před foreach nemusíte volat reset(). Uvědomte si také, že foreach pracuje na kopii specifikovaného pole, nikoli na poli samotném, a proto se změny na vráceném elementu na původním poli neprojeví.

foreach nepodporuje možnost potlačit chybová hlášení použitím @.

Můžete si všimnout, že následující příklady jsou funkčně totožné:


\n";
}
//nebo
foreach ($arr as $value) {
    echo "Hodnota: $value
\n"; } ?>

Následující příklady jsou rovněž funkčně totožné:


\n";
}
//nebo
foreach ($arr as $key => $value) {
    echo "Klíč: $key; Hodnota: $value
\n"; } ?>

Další příklady demonstrující použítí:


 $v.\n";
    $i++;
}
/* foreach příklad 2: vícerozměrná pole */

$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach($a as $v1) {
    foreach ($v1 as $v2) {
        print "$v2\n";
    }
}
?>

Samozřejmě se dá používat i kombinace foreach a endforeach.

Úkol: Nechám vám volnou ruku. Vytvořte mi nějaký skript, kde použijete veškeré příkazy z této lekce.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Tomáš VinduškaEx-programátor a admin, programuje v PHP a MySQL.
Web    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý