Kurz PHP – operátory, pokračovanie

Logické operátory

Logické operátory sa používajú ku kombinovaniu výsledkov logických podmienok. Môže nás napríklad zaujímať, či je hodnota premennej $a medzi 0 a 100. Budeme musieť otestovať podmienky $=>0 a $a<=100 – využijeme operátor AND.

$a >= 0 && $a <= 100

PHP podporuje logické operátory AND, OR, XOR (exkluzívne alebo, viď nižšie) a NOT.

if($d == 4 xor $ == 7 xor $f == 10) echo “Toto sa nevypíše”;
Táto podmienka nebude splnená, pretože je prepojená operátorom xor a teda celá podmienka je nepravdivá. Podmienky xor vyžadujú, aby práve jedna z podmienok bola pravdivá a teda zvyšné dve už nie.

Operátor Názov Použitie Výsledok
! NOT !$b Vracia true, pokiaľ je $b rovné false a naopak
&& AND $a && $b Vracia true, pokiaľ sú $a i $b true, inak false
|| OR $a || $b Vracia true, pokiaľ je aspoň jeden z $a alebo $b true, inak vráti false
and AND $a and $b To isté čo &&, ale s nižšou prioritou
or OR $a or $b To isté čo ||, ale s nižšou prioritou

Operátory and a or majú nižšiu prioritu než operátory && a ||. Priority preberieme o chvíľku.

Bitové operátory

Umožňujú považovať celé číslo za postupnosť bitov. Pravdepodobne ich v PHP veľmi nevyužijete, ale uvádzam ich zoznam v tabuľke…

Operátor Názov Použitie Výsledok
& bitový AND $a & $b Bity nastavené v $a i v $b budú nastavené vo výsledku
| bitový OR $a | $b Bity nastavené v $a alebo v $b budú nastavené vo výsledku
~ bitový NOT ~$a Bity nastavené v $a nebudú nastavené vo výsledku
^ bitový XOR $a ^ $b Bity nastavené v $a elbo $b, ale nie v oboch, budú nastavené vo výsledku
<< posun vľavo $a << $b Posunie $a doľava o $b bitov
>> posun vpravo $a >> $b Posunie $a doprava o $b bitov

Ostatné operátory

Okrem operátorov, ktoré sme dosiaľ prebrali, existuje ešte mnoho ďalších. Operátor čiarka (,) sa používa k oddeleniu argumentov funkcií a iných zoznamov. Ďalšie dva zvláštne operátory, new a -> sa používajú k vytvoreniu inštancie triedy, resp. k prístupu k členom triedy (viac v lekcii o objektovo orientovanom programovaní). Operátory prvku pole ( [] ) umožňujú získať prístup k poliam. Viac si o nich povieme v lekcii o poliach.

Ternárny operátor

Tento operátor funguje rovnako ako v jazyku C. Má tvar:

podmienka ? hodnota v prípade splnenia : hodnota v prípade nesplnenia

Tento operátor sa dá nahradiť príkazom if-else a je to vlastne akási jeho skrátená verzia . Podmienkové štruktúry preberieme neskôr. Príklad:

($hodnotenie > 50 ? 'Prešiel' : 'Neprešiel');

V prípade, že študent napísal test na viac ako 50%, vráti tento výraz ‘Prešiel’. Inak vráti ‘Neprešiel’.

Operátor potlačenia chybovej správy

Operátor potlačenia chybovej správy (@) môžete použiť pred akýmkoľvek výrazom teda pred čímkoľvek, čo generuje alebo vracia nejakú hodnotu. Pokiaľ týmto spôsobom potlačíte výpisy chybových správ, mali by ste si napísť vlastné spracovanie chybových stavov pre prípad, že by podobná situácia nastala. Pokiaľ máte v PHP nastavené track_errors na On, budú chybové správy uložené v globálnej premennej $php_errormsg .

Priorita a smer: vyhodnotenie výrazov

Obecne platí, že operátory majú prioritu alebo poradie, v ktorom savyhodnocujú. Takisto majú udaný smer, čo je určenie, z ktorej strany sa budú vyhodnocovať operátoryrovnakej priority. Buď zľava doprava, sprava doľava alebo na smere nezáleží. Nasledujúca tabuľka ukazuje prioritu a smer operátorov, pričom platí, že operátory s najnižšou prioritou sú umiestnené hore.

Smer Operátor
zľava ,
zľava or
zľava xor
zľava and
sprava print
zľava = += -= *= /= .= %= &= |= ^= ~= <<= >>=
zľava ? :
zľava ||
zľava &&
zľava |
zľava ^
zľava &
nezáleží == != ===
nezáleží < <= > >=
zľava << >>
zľava + – .
zľava * /%
sprava ! ~ ++ — (int) (double) (string) (array) (object) @
sprava []
nezáleží new
nezáleží ()

Všimnite si, že najvyššiu prioritu má operátor, ktorý sme ešte neprebrali: staré dobré guľaté zátvorky. Ich úloha je rovnaká ako v matematike: zvýšiť prioritu výrazu v nich. Vďaka nim môžeme pravidlá o priorite obísť. Platí, že najvnútornejšie zátvorky (môžete ich použíť koľko chcete) sa vyhodnotia ako prvé.

V budúcom dieli nášho kurzu sa zoznámime s riadiacimi štruktúrami v PHP, čo bude významný krok vpred na vašej ceste v poznávaní jazyka PHP. Doporučujem pohrať sa s operátormi v tejto lekcii a vyskúšať si v kóde ich použítie. Nasávať teoretické vedomosti je síce pekné, ale programátora z vás spraví len prax. Práve preto programujte, programujte a programujte.

Súvisiace články


Kategória: PHP, MySQL | 1,995 zobrazení Author: Michal Tomanóczy