Algoritmy s PHP |
Ján Guniš, PF UPJŠ, Košice |
Výrazom je v PHP všetko, čo má nejakú hodnotu. Najjednoduchším výrazom môže byť premenná ($prem) alebo konštanta (12). Výrazom je aj volanie funkcie (napr.: is_double($prem)). Zaujímavosťou je, že aj priradenie hodnoty do premennej je pre PHP výraz. Takže namiesto
$prem = 11;
$prem1 = 10;
môžeme kľudne písať
$prem = 1 + $prem1 = 10;
Priradenie sa vykonáva sprava doľava.
Matematické operátory
Okrem klasických matematických operátorov (sčítanie +, odčítanie -,
delenie /, násobenie *) pozná PHP aj zvyšok po delení (%). Pri zmene hodnoty
premennej môžeme v PHP použiť aj skrátené zápisy operácií:
$x = $x + 10;
alebo
$x += 10;
$x = $x - 10;
alebo
$x -= 10;
$x = $x * 10;
alebo
$x *= 10;
$x = $x / 10;
alebo
$x /= 10;
$x = $x % 10;
alebo
$x %= 10;
Pre inkremetáciu a dekrementáciu čísla môžeme použiť aj zápis:
$prem++ //vráti hodnotu $prem a potom zvýši $prem o 1 (post-increment)
++$prem //zvysi $prem o 1 a potom vrati jej novú hodnotu (pre increment)
$prem-- //vráti hodnotu $prem a potom zníži $prem o 1 (post-decrement)
--$prem //zníži $prem o 1 a potom vrati jej novú hodnotu (pre-decrement)
Logické výrazy a operátory
Pozor! Záporné čísla sú považované za pravdivé hodnoty.
Príklad Popis $a && $b
alebo $a and $b
konjunkcia $a || $b
alebo $a or $b
alternatíva $a ^ $b
alebo $a xor $b
ostrá alternatíva !$a
negácia
Operátor pre spájanie reťazcov
Pre spájanie reťazcov slúži špeciálny operátor ".".
Príkaz skriptu Výsledok v prehliadači echo "Zaciatok" . " a " . "koniec.";
Zaciatok a koniec. echo "Vysledok 10/3 je " . 10/3;
Vysledok 10/3 je 3.3333333333333 $prem = 'Zaciatok';
$prem .= ' a koniec';
echo $prem;
Zaciatok a koniec
Podmienený operátor
Podmienený operátor ma tri operandy (ternárny operátor).
Príkaz skriptu Výsledok vyraz1 ? vyraz2 : vyraz3; Ak je vyraz1 pravdivý, výsledkom je vyraz2, v opačnom prípade je výsledkom vyraz3 $min = $a<$b? $a: $b; Do premennej $min sa priradí minimum z hodnôt $a, $b $abs = $a<0? -$a: $a; Do premennej $abs sa priradí absolútna hodnota $a
Operátory porovnania
Príklad Názov $a == $b rovnosť (pascalisti pozor! operátor rovnosti sú dve =, jedno = je priradenie) $a != $b nerovnosť $a < $b menší ako $a > $b väčší ako $a <= $b menší nanajvýš rovný $a >= $b väčší nanajvýš rovný
Poznámka: Pozor na prioritu operátorov! Ak ste si nie istí prioritou, použite zátvorky.