Výrazy
Matematické operátory---Logické výrazy---Spojování řetězců---Podmíněný operátor---Priorita operátorů
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í.
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.
$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 !==.
$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).
$x = 10;
echo "Hodnota výrazu \$x je ".$x;
?>
Existuje i zkrácená varianta .=, která se hodí pro spojování řetězců.
$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í
$x = 11;
$cislo = ($x%2 == 1) ? "liché" : "sudé";
echo "Číslo ".$x." je ".$cislo; //výpíše "Číslo 11 je liché"
?>
Priorita operátorů
