Výrazy

Protože je PHP výrazově orientovaný jazyk, je v zde výrazem vše co má hodnotu, nejjednodušší výrazy jsou konstanty a proměnné. Výrazem může být i funkce, která vrací nějakou hodnotu (např. Date()).

Výrazem je i přiřazení $x = 10. Tento výraz má hodnotu 10.

Matematické operátory

V PHP můžeme používat klasické operátory ‘+-*/’. Větší prioritu má násobení a dělení před sčítáním a odčítáním. Změnit prioritu lze samozřejmě pomocí závorek. Užitečný operátor je ‘%’, který vrací hodnotu zbytku po dělení.

<?php
print 100%9;    //Vypíše 1
?>

PHP umožňuje zkracovat výrazy pro matematické operace, např. výraz $x = $x + 10 je ekvivalentní zápisu $x += 10. Stejně můžeme použít i zápisy: ‘-=’,’*=’,’/=’ a ‘%=’.

Dalšími důležitými operátory jsou operátory inkrementace a dekrementace. Tyto operátory slouží ke zvýšení nebo snížení hodnoty proměnné o jedničku.

<?php
$x = 10;
print $x++;    //postinkrementace, vypíše 10 a poté zvýší hodnotu $x na 11
print ++$x    //preinkrementace, vypíše 12
?>

Logické výrazy a operátory

Tyto operátory slouží ke zjištění jestli je výraz pravdivý (true) nebo nepravdivý (false). Používají se hlavně v podmínkách a cyklech.

Pro zjištění rovnosti se používá operátor == (pozor na záměnu za =), nerovnost lze zjistit jedním ze dvou operátorů != nebo <>. Další logické operátory jsou: <, >, <= a >=. Jejich význam je stejný jako v jiných jazycích nebo matematice.

Od verze PHP 4, lze použít i operátor ===, který porovnává proměnné nejen podle hodnoty, ale i podle typu. Negací tohoto operátoru je !==.

<?php
$bool = true;
$string = 'true';

if ($bool === $string)
{
print 'Proměnné jsou identické';  //TATO HLASKA SE NEVYPISE
}
else
{
print 'Proměnné nejsou identické';  //TATO HLASKA SE VYPISE
}
?>

Operátor logického součinu je && nebo AND, logického součtu || nebo OR a dalším logickým operátorem je XOR, který je pravdivý pokud jsou oba výrazy pravdivé.

Negaci výrazu provádime pomocí operátoru !.

Spojování řetězců

Spojování řetězců se provádí pomocí operátoru . (tečka).

<?php
$x = 10;
echo "Hodnota výrazu \$x je ".$x;
?>

Existuje i zkrácená varianta .=, která se hodí pro spojování řetězců.

<?php
$pozdrav = "Dobrý";
$pozdrav .= "den";
print $pozdrav    //vypíše "Dobrý den"
?>

Podmíněný operátor

PHP má pouze jeden ternární operátor, jehož syntaxe je následující

<?php
$x = 11;
$cislo = ($x%2 == 1) ? "liché" : "sudé";
echo "Číslo ".$x." je ".$cislo;    //výpíše "Číslo 11 je liché"
?>

Priorita operátorů

Priorita operátorů v PHP

Leave a Reply