php - if nebo switch

Rozhodněte se, zda použijete při rozhodování v php if nebo switch.

Je jasné, že v rámci řešení nějaké funkční části kódu potřebujeme dělat rozhodnutí, jakou cestou se dát, protože se vzájemně vylučují. Rozeberu zde hlavní rozdíly mezi if a switch.

if

Ve své podstatě platí pro tento výraz jestliže. Tedy jestli je splněna podmínka jdi touto větví a žádnou jinou v tomto seznamu. If má následné bloky elseif ve kterém můžeme opět přidat podmínku k vyhodnocení. Posledním následníkem je else, který platí pro všechny ostatní možnosti. elseif a else jsou nepovinné.
if($a>0){
//první podmínka splněna, dělej to co máš v tomto bloku kódu
}
elseif($a==0){
//první podmínka nesplněna, ale je splněna druhá, tak dělej toto
}
else{
//žádná podmínka nesplněna dělej toto
}

switch

Switch nám umožnuje jak z názvu vyplývá přepínat na základě podmínky a procházet několika větvemi zároveň. Mimo jiné je na procesorový čas rychlejší. Každé procházení větvemi, které má být konečné musí končit příkazem break;
switch($a){
  case "ahoj": //podmíněnná hodnota může být string
               break;
  case 1: // podmíněná hodna může být i int
  case 2: // pokud hodnota proměnné $a byla jedna, tak protože nebyl na jejím konci break, prochází se i větev 2
             break;
  default: //pokud žádná z možností neodpovídá, prochází se touto větví, která je nepovinná
}

Mé doporučení v tomto směru je, používejte spíše switch než if z důvodu šetření času procesoru. Může se zdát že u jednoduchých věcí je to jedno a na čase nezáleží, ale jakmile začnete psát něco komplexnějšího, budete hledat, kde čas ušetřit.

Více si můžete o if přečíst na php.net
a o switch také na php.net

Autor: