Desátý díl o PHP – Logické výrazy

Logické operátory jsou v PHP úplně stejné, jako v jiných jazycích, tedy pokud s nimi umíte, víte přesně k čemu jsou, můžete tuto kapitolu možná přeskočit, v opačném případě si ji radši přečtěte, jistě je budete potřebovat. Některé funkce vracejí hodnoty typu TRUE nebo FALSE. V PHP máme šest druhů logických operátorů, jsou shrnuté v této tabulce:

Operátor Význam Pravda když
and Logický součin Jsou obě hodnoty pravdivé
or Logický součet Je alespoň jedna hodnota pravdivá
xor Exkluzivní OR Je právě jedna hodnota pravdivá
! Negace True když bylo False a naopak
&& Logický součin Jsou obě hodnoty pravdivé
|| Logický součet Je alespoň jedna hodnota pravdivá

Nyní se tedy podíváme, jak se tyto logické operátory používají a začneme logickým operátorem AND.

<?

$mam_benzin=TRUE;

$mam_auto=TRUE;

$mohu_ridit=$mam_benzin && $mam_ridicak;

?>

Tento kód je stejný, jako tento:

<?

$mam_benzin=TRUE;

$mam_auto=TRUE;

$mohu_ridit=$mam_benzin AND $mam_ridicak;

?>

Jedná se o logický součin, tedy obě podmínky musí být splněny, pokud nebude splněna byť jen jedna z nich, nebudu moci řídit auto.

Nyní si uvedeme příklad logického operátoru OR.

<?php

$mam_hamburger = TRUE;

$mam_parek_v_rohliku = TRUE;

$mohu_jist = $mam_hamburger || $mam_parek_v_rohliku;

?>

Tento kód je opět stejný, jako tento:

<?php

$mam_hamburger = TRUE;

$mam_parek_v_rohliku = TRUE;

$mohu_jist = $mam_hamburger OR $mam_parek_v_rohliku;

?>

V tomto případě se jednalo o logický součet, tedy pokud je alespoň jedna z podmínek splněna, mohu se najíst, ovšem v případě, že jsou splněny obě, tak se najím taky, v tomto případě by se jednalo o neexkluzivní součet.

Nyní se podíváme na negaci.

<?

$mam_mnoho_benzinu = true;

$nemohu_jet_daleko = !$mam_mnoho_benzinu;

?>

Pokud mám hodně benzínu, mohu jet daleko, nicméně když zneguji mnoho benzínu, dostávám málo benzínu, z toho důvodu nemohu jet daleko. Myslím, že negace je z příkladu jasná, jedná se v podstatě o opak.

Logické exkluzivní OR (XOR), no, co k ním dodat, na programování webu jej jistě potřebovat nebudete, pokud tedy nebudete vytvářet nějaký šifrovací algoritmus. Nikdy jsem jej nepoužil a tak mě ani nenapadá příklad, pro který by se dali použít a aby to nebyl nesmysl.

„Líbil se Vám tento článek? Sdílejte ho prosím na sociálních sítích, ať se o něm dozvědí i Vaši kamarádi. Děkuji!“
Share on FacebookShare on Google+Tweet about this on TwitterShare on TumblrEmail this to someone