Algoritmy s PHP

Ján Guniš, PF UPJŠ, Košice

 

Výrazy a operátory

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.