Logikai adattÃpus
Ez a legegyszerűbb tÃpus. Egy boolean igazságértéket fejez ki. Lehet vagy TRUE (igaz), vagy FALSE (hamis).
Note: A logikai adattÃpus a PHP 4-esben került bevezetésre.
Szintaxis
Egy logikai érték megadásához használhatod a TRUE vagy FALSE szavakat, szükség szerint. Egyik jelentése sem függ a kis- és nagybetűs Ãrásmódtól.
<?php
$igaz = True; // a logikai igaz értéket adjuk az $igaz változónak
?>
Tipikus valamilyen operátor használatakor kapsz boolean tÃpusú értéket, amit egy vezérlési szerkezetben fel tudsz használni.
<?php
// A == operátor egyenlőséget vizsgál
// majd boolean-t ad vissza
if ($akcio == "verzio_kiirasa") { // a == operátor boolean értékkel tér vissza
echo "Ez az 1.23-as változat";
}
// ez nem szükséges...
if ($elvalaszto_kiirasa == TRUE) {
echo "<hr>\n";
}
// ...mivel egyszerűen ez is működik
if ($elvalaszto_kiirasa) {
echo "<hr>\n";
}
?>
Logikai értékké alakÃtás
Ha kifejezetten boolean tÃpusúvá szeretnél alakÃtani egy értéket, használd a (bool) vagy a (boolean) tÃpusátalakÃtást. A legtöbb esetben azonban nem kell ezt alkalmaznod, mivel az érték automatikusan átalakul, ha egy operátor, függvény, vagy vezérlési szerkezet boolean tÃpusú argumentumot vár.
Lásd még a Bűvészkedés a tÃpusokkal cÃmű részt.
Amikor boolean tÃpusúvá kell alakÃtani egy értéket, az alábbiak FALSE értéket adnak:
- a boolean tÃpusú FALSE
- az integer (egész)tÃpusú 0 (nulla)
- a float (lebegőpontos) 0.0 (nulla)
- az üres string, és a "0" string
- egy elemeket nem tartalmazó array (tömb)
- egy attribútumokat nem tartalmazó object (objektum) (csak PHP 4)
- a speciális NULL érték (beleétve a nem beállÃtott - hivatkozást megelÅ‘zÅ‘en nem definiált - változókat)
A -1 is TRUE lesz, mint minden más nem nulla (akár negatÃv, akár pozitÃv) szám!
<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "ize"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>