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

PHP – 4. lekcePHP – 4. lekce

 

PHP – 4. lekce

Google       Google       22. 6. 2005       30 765×

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.

Reklama
Reklama

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 Nový IT hráč na českém trhu

Nový IT hráč na českém trhu

V roce 2015 otevřela v Praze na Pankráci v budově City Tower své kanceláře společnost EPAM Systems (NYSE:EPAM), jejíž centrála se nachází v USA. Společnost byla založená v roce 1993 a od té doby prošla velkým vývojem a stále roste.

Reklama
Reklama
Obrázek ke článku České Radiokomunikace opět hledají nejlepší nápady pro internet věcí

České Radiokomunikace opět hledají nejlepší nápady pro internet věcí

České Radiokomunikace (CRA) pořádají druhý ročník CRA IoT Hackathonů. Zájemci z řad vývojářů a fanoušků moderních technologií mohou změřit své síly a během jediného dne sestrojit co nejzajímavější funkční prototyp zařízení, které bude komunikovat prostřednictvím sítě LoRa. CRA IoT Hackathony se letos uskuteční ve dvou fázích, na jaře a na podzim, v různých městech České republiky. Jarní běh se odstartuje 31. března v Brně a 7. dubna v Praze.

Obrázek ke článku Cloud computing je využíván stále intenzivněji

Cloud computing je využíván stále intenzivněji

Využívání cloud computingu nabývá na intenzitě. Jen v letošním roce vzroste podle analytiků trh se službami veřejného cloudu o 18 %, přičemž o téměř 37 % vzrostou služby typu IaaS. Růst o více než pětinu pak čeká služby poskytování softwaru formou služby, tedy SaaS. Aktuálním trendům v oblasti využívání cloudu se bude věnovat konference Cloud computing v praxi, která se koná 23. března. 2017 v pražském Kongresovém centru Vavruška na Karlově náměstí 5.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý