Stránky neboli dlhú dobu aktualizované. Môžu obsahovať nepresné alebo neaktuálne informácie.
Hľadanie
Rozšírené vyhľadávanie
TOP 7 - stránky
Napaľovacie programy - 108 528x
Free Pascal - Úvod - 66 084x
Lazarus - Kreslenie - 47 614x
Free Pascal - Začiatky - 44 922x
Free Pascal - Podmienky - 37 256x
Free Pascal - Cykly - 36 496x
Internetové prehliadače - 36 405x
Nové v diskusii
Free Pascal - Cykly - štvrtok 31.3.
Lazarus - Začíname - piatok 25.3.
Anketa - streda 2.3.
Navigácia: Tvorba Webu > PHP - Logika

PHP - Logika

Naučíme sa pracovať s logickými operátormi a hodnotami. Poznatky, ktoré tu získate, sa vám budú hodiť najmä pri vetvení.

Logické hodnoty

Logické hodnoty sú vždy len dve: pravda (true) a nepravda (false). V PHP sa pravda znázorňuje aj akýmkoľvek číslom okrem nuly, nepravda nulou.

$pravda = true;
$pravda = 1;
$nepravda = false;
$nepravda = 0;

Ak skúsime vypísať false, nič sa nevypíše.

echo false;

Skúsime teda malý trik. Zmeníme typ hodnoty na int - celé číslo. Typ sa mení napísaním jeho názvu v zátvorkách pred daným údajom.

echo (int) false;

Príklad vypíše nulu. Pretypovaním true na celé číslo získame jednotku.

Operátory porovnávania

Ak chceme porovnať dva výrazy, vložíme medzi ne niektorý z porovnávacích operátorov. Napríklad

echo (int) 3 > 7;

vypíše 1 (pravda). Existujú nasledujúce porovnávacie operátory:

operátor význam
== rovná sa
=== rovná sa a je rovnakého typu
!= nerovná sa
<> to isté ako !=
!== nerovná sa alebo nie je rovnakého typu
< je menšie ako
> je väčšie ako
<= je menšie alebo rovné
>= je väčšie alebo rovné

Uvediem ešte jeden príklad.

$cislo = 15;
$retazec = "15";
$vysledok = ($cislo === $retazec);
echo (int) $vysledok;

Výsledok je nepravda (0), pretože číslo 15 nie je rovnakého typu ako reťazec "15".

Logické operátory

Ak spojíme viac logických hodnôt pomocou operátorov a zátvoriek, vznikne zložený logický výraz.

Operátor && spôsobí, že zložený výraz bude pravdivý, len ak sú obidve hodnoty pravdivé.

$a = true;
$b = true;
echo (int) $a && $b;
// vypíše: 1

Podobne funguje ||, no teraz stačí, aby aspoň jedna hodnota bola pravdivá.

$a = true;
$b = false;
echo (int) $a || $b;
// vypíše: 1

Podobnú funkciu majú operátory and (a) a or (alebo). Majú však veľmi malú prioritu, teda najprv sa vyhodnotí výraz na ľavej a pravej strane a až potom sa výrazy spoja daným operátorom.

$pravda = 1;
$nepravda = 0;
echo (int) ($pravda or $nepravda && false);

Najskôr sa vyhodnotil čiastkový výraz $nepravda && false, čoho výsledok je 0. Až potom $pravda or 0, takže príklad vypísal číslo 1.

Existuje ešte operátor xor. Výraz vráti pravdu, ak práve jedna hodnota je pravdivá.

echo (int) (true xor false); // 1
echo (int) (true xor true);  // 0

Predchádzahúci príklad mi „zhodil“ Apache, ale asi to bude len PHP bug.

Hodnotenie
1 2 3 4 5 (ako v škole)
Priemerná známka: 2,55
Diskusia k tejto stránke Príspevok na túto tému zatiaľ neexistuje. Môžete pridať prvý z nich!
Prejsť do diskusie»
2005-2012, Matúš Sulír, matus.sulir (zav) gmail bodka com. Gen.: 0,0771 s. Valid XHTML, CSS.