Logikai kifejezések, értékek.

Döntéshozásoknál két eredmény lehetséges, igaz TRUE és hamis FALSE
Igaz vagy hamis, a kiértékelés végeredményétől függ, és nem az összehasonlított értékektől

Minden más érték TRUE, azaz, igaznak számít

Programjainkban a változók legtöbbször, számokat és szöveget tartalmaznak.
A logikai értéket, egy harmadik változó írja le, mely csak kétféle abszolút értéket tartalmazhat, igaz vagy hamis.
Az igaz vagy hamis értéket bármelyik változónak értékül adhatjuk.

Példa:
$valtozo = true;
A változó eredménye egy ( 1 ) lesz.

$valtozo = false;
A változó eredménye egy ( 0 ) lesz

Mi értelme:
Rendkívüli esetekben előfordul, hogy a kiértékelés (feltétel) szempontjából, ha törik ha szakad, a változónak igaznak kell lenni, vagy éppen fordítva, hamisnak kell lenni


Logikai kifejezések (Boolen-logika)

Az és ( and ) szó jelentése:
A kettő közul, mindegyik igaz, akkor a feltétel teljesül.
Ezt és ezt tartalmazó dokumentumokat kell a keresővel lehívni

A vagy ( or) A kettő közul, az egyik vagy a másik igaz, akkor a feltétel teljesül.

A nem (not) PHP-ben a ( ! ) Megfordítja az igazságot. Ha a feltétel igaz, akkor, nem igaz lesz.

A kizáró vagy ( xor ). A kettő közul, az egyik igaz, de mindkettő egyszerre sosem teljesül.

Speciális operátorok:
A vagy ( || )
illetve az és ( && ) , melyek a ( vagy és ) működésével egyeznek meg, de magasabb precedencia vonatkozik rájuk.

A vagy kifejezést szerepeltetjük legtöbbször, ez adja a legbővebb találati halmazt.
Még jelentésüknek megfelelően, a kizáró vagy a nem illetve az és egyre jobban szűkíti a keresést.

A kiértékelésnél, hogy a feltétel igaz vagy sem, több értéket is megadhatunk.
Például: ez és ez, ez vagy ez, nem ez, formában.

A feltételvizsgálat elemeit (változóit) az és (and) vagy (or) valamint a kizáró vagy (xor) nevű logikai operátorokkal kapcsolhatjuk össze.

A logikai tagadás nem-et (not) a PHP-ben a ( ! ) műveleti jel testesíti meg.
Példa:
(2 == 2) Ez igaz, kettő egyenlő kettővel
(2 != 2) Ebben az esetben, azt közöljük a programmal, hogy kettő nem egyenlő kettővel, azaz nem igaz.

A feltételben több érték is szerepel:
- Teljes feltétel hamis: Első kifejezés igaz, a második kifejezés hamis, közöttük pedig, (és && ) kapcsolat áll fenn.
- Teljes feltétel igaz: Első kifejezés, és a második kifejezés is igaz, közöttük pedig, (és && ) kapcsolat áll fenn.


Logikai kifejezések és értékek használata a gyakorlatban

Példa, az adatok ellenőrzésére:

$adat_1 = 15;
$adat_2 = 20;

if ( $adat_1 == $adat_2) {
	//Ha igaz a feltétel: Ezeket a kódsorokat kell végrehajtani;
	}
elseif ( $adat_1 + 5 == $adat_2)  {
	//Ha igaz a feltétel: Ezeket a kódsorokat kell végrehajtani;
	}
elseif ( $adat_1 + 5 == $adat_2 and $adat_1 == $adat_2 ) {
	//Ha igaz a feltétel: Ezeket a kódsorokat kell végrehajtani;
	}
elseif ( $adat_1 == $adat_2 or $adat_1 == $adat_2 - 5) {
	//Ha igaz a feltétel: Ezeket a kódsorokat kell végrehajtani;
	}
elseif ( $adat_1 == $adat_2 and !$adat_1 == $adat_2 - 5 ) {
	//Ha igaz a feltétel: Ezeket a kódsorokat kell végrehajtani;
	}

Fenti programban, milyen funkciójuk van az operátoroknak és a Boole logikának?

  1. Két egyenlőségjel ( == ) A feltétel akkor igaz, ha a két adat egyforma.
    ( 15 == 20 ) Feltétel nem igaz, azaz False

  2. Három egyenlőségjel ( === ) A feltétel akkor igaz, ha a két adat teljesen egyenlő értékű.
    ( 20 === 20 ) Feltétel igaz, azaz True

  3. Az ( and ) igaz, ha első kifejezés igaz, és a második kifejezés is igaz.
    ( 15 + 5 == 20 AND 15 == 20) Egyik igaz, a másik nem. Feltétel nem igaz, azaz False

  4. Az ( or ) igaz, ha a két érték közül az egyik igaznak bizonyul.
    ( 15 == 20 OR 20 == 20) Feltételnél egyik igaz, azaz True

  5. Az ( and ) igaz, ha első kifejezés igaz, a másodiknak pedig, ! hamisnak kell lennie. Ebben a példában azért hamis a második kifejezés, mert a ! operátor, csak ebben az esetben ad igaz értéket.
    ( 15 == 20 és nem igaz, hogy 15 == 20 - 5 ) Az elsőnek igaznak, a másodiknak hamisnak kellene lenni, hogy a feltétel igaz legyen.
    A másodiknak mindenképp hamisnak kell lennie, mert a ! operátor, csak ebben az esetben ad igaz (TRUE) értéket.


    • Program szerint, és a valóságban is igaz lenne az eredmény 15 = ( 20 - 5 ).
      De, mi azt mondjuk a programnak, a felkiáltójel ! beiktatásával, hogy nem igaz, azaz becsapjuk, akkor a programunk is nem igaz eredményként fogja értelmezni.
    • Összegezve:
      - A felkiáltójel megfordítja az állítást
      - Ha igazat állítunk, a felkiáltó jel, hamisra változtatja.
      - Ha hamisat állítunk, a felkiáltó jel, igazra változtatja.