PHP Control Structures: Pokud jinak, Switch Case
โก Chytrรฉ shrnutรญ
ลรญdicรญ struktury a smyฤky urฤujรญ cestu, kterou se PHP program vydรก, a efektivnฤ opakujรญ bloky kรณdu. Tento nรกvod vysvฤtluje rozhodovacรญ struktury if-else a switch a potรฉ se zabรฝvรก smyฤkami for, while, do-while a foreach, kterรฉ konkurenti v tomto tรฉmatu oฤekรกvajรญ.

Co je to kontrolnรญ struktura?
Code Provedenรญ lze rozdฤlit do kategoriรญ, jak je uvedeno nรญลพe.
- Sekvenฤnรญ โ v tomto pลรญpadฤ se veลกkerรฝ kรณd spustรญ v poลadรญ, v jakรฉm byl napsรกn.
- Rozhodnutรญ โ toto zahrnuje vรฝbฤr z nฤkolika moลพnostรญ. Provedenรฝ kรณd zรกvisรญ na hodnotฤ podmรญnky.
ลรญdicรญ struktura je blok kรณdu, kterรฝ rozhoduje o cestฤ provรกdฤnรญ programu v zรกvislosti na hodnotฤ nastavenรฉ podmรญnky.
Pojฤme se nynรญ podรญvat na nฤkterรฉ z kontrolnรญch struktur, kterรฉ PHP podporuje.
PHP IF Jinak
Pokudโฆ pakโฆ je to jinak nejjednoduลกลกรญ struktura ovlรกdรกnรญVyhodnocuje podmรญnky pomocรญ booleovskรฉ logiky.
Kdy pouลพรญt ifโฆ thenโฆ else
- Mรกte blok kรณdu, kterรฝ by mฤl bรฝt proveden, pouze pokud je splnฤna urฤitรก podmรญnka
- Mรกte dvฤ moลพnosti a musรญte si vybrat jednu.
- Ifโฆ thenโฆ else ifโฆ se pouลพรญvรก, kdyลพ musรญte vybrat vรญce neลพ dvฤ moลพnosti a musรญte vybrat jednu nebo vรญce
syntax. Syntaxe pro ifโฆ thenโฆ else je:
<?php if (condition is true) { block one } else { block two } ?>
TADY,
- "pokud (podmรญnka je pravdivรก)โje ลรญdicรญ struktura
- "blok jedenโ je kรณd, kterรฝ se mรก provรฉst, pokud je podmรญnka pravdivรก
- jinรฝ je zรกloลพnรญ, pokud je podmรญnka nepravdivรก
- "blok dvaโ je blok kรณdu, kterรฝ se provede, pokud je podmรญnka nepravdivรก
Jak to funguje. Nรญลพe uvedenรฝ vรฝvojovรฝ diagram ilustruje, jak funguje ลรญdicรญ struktura ifโฆthenโฆelse.
Pojฤme se na to podรญvat v praxi. Nรญลพe uvedenรฝ kรณd pouลพรญvรก k urฤenรญ vฤtลกรญ hodnoty mezi dvฤma ฤรญsly โjestliโฆ pakโฆ jinakโ.
<?php $first_number = 7; $second_number = 21; if ($first_number > $second_number){ echo "$first_number is greater than $second_number"; }else{ echo "$second_number is greater than $first_number"; } ?>
Vรฝstup:
21 is greater than 7
Pouzdro na pลepรญnaฤ PHP
Spรญnaฤโฆ pouzdro je podobnรก pokudโฆ pakโฆ jinak ลรญdรญcรญ struktura.
Jen to provede jeden blok kรณdu v zรกvislosti na hodnota stavu.
Pokud nenรญ splnฤna ลพรกdnรก podmรญnka, provede se vรฝchozรญ blok kรณdu.
Mรก nรกsledujรญcรญ zรกkladnรญ syntaxi.
<?php switch(condition){ case value: // block of code to be executed break; case value2: // block of code to be executed break; default: // default block code break; } ?>
TADY,
- "pลepรญnaฤ(โฆ){โฆ}" je kรณd bloku ลรญdicรญ struktury
- โhodnota pลรญpadu: pลรญpadโฆโ jsou bloky kรณdu, kterรฉ majรญ bรฝt provedeny v zรกvislosti na hodnotฤ podmรญnky
- "vรฝchozรญ:" je blok kรณdu, kterรฝ se provede, kdyลพ ลพรกdnรก hodnota neodpovรญdรก podmรญnce
Jak to funguje
Nรญลพe uvedenรฝ vรฝvojovรฝ diagram ilustruje, jak funguje struktura ovlรกdรกnรญ pลepรญnaฤe.
Praktickรฝ pลรญklad
Nรญลพe uvedenรฝ kรณd pouลพรญvรก strukturu ovlรกdรกnรญ pลepรญnaฤลฏ k zobrazenรญ zprรกvy v zรกvislosti na dni v tรฝdnu.
<?php $today = "wednesday"; switch($today){ case "sunday": echo "pray for us sinners."; break; case "wednesday": echo "ladies night, take her out for dinner"; break; case "saturday": echo "take care as you go out tonight."; break; default: echo "have a nice day at work"; break; } ?>
Vรฝstup:
ladies night, take her out for dinner
PHP smyฤky
Smyฤky jsou ลรญdicรญ struktury, kterรฉ opakujรญ blok kรณdu, dokud je podmรญnka splnฤna. Uลกetลรญ vรกm psanรญ stejnรฉho pลรญkazu mnohokrรกt. PHP podporuje ฤtyลi typy smyฤek: for, while, do-while a foreach. Podrobnฤjลกรญ nรกvod naleznete ve vyhrazenรฉm dokumentu. Vรฝukovรฝ program pro PHP cyklus.
PHP pro smyฤku
Smyฤka for se pouลพรญvรก, kdyลพ pลedem vรญte, kolikrรกt se mรก kรณd spustit. Kombinuje ฤรญtaฤ, podmรญnku a inkrement na jednom ลรกdku.
<?php for ($i = 0; $i < 5; $i++) { echo $i; } ?>
Vรฝstup:
01234
PHP cyklus While
Smyฤka while opakuje blok tak dlouho, dokud je jeho podmรญnka pravdivรก. Podmรญnka se kontroluje pลed kaลพdou iteracรญ, takลพe tฤlo smyฤky se mลฏลพe spustit nulakrรกt.
<?php $i = 0; while ($i < 5) { echo $i; $i++; } ?>
Vรฝstup:
01234
PHP cyklus Do-While
Smyฤka typu do-while je podobnรก smyฤce while, ale kontroluje podmรญnku aลพ po tฤle bloku. To zaruฤuje, ลพe se blok spustรญ alespoล jednou.
<?php $i = 0; do { echo $i; $i++; } while ($i < 5); ?>
Vรฝstup:
01234
PHP smyฤka Foreach
Smyฤka foreach je urฤena pro pole. Prochรกzรญ kaลพdรฝm prvkem, aniลพ byste museli spravovat ฤรญtaฤ indexลฏ.
<?php $colors = array("red", "green", "blue"); foreach ($colors as $color) { echo $color . " "; } ?>
Vรฝstup:
red green blue


