Booleans
Αυτός είναι ο ευκολότερος τύπος. Ένας boolean εκφράζει μια αληθινή τιμή. Μπορεί να είναι είτε TRUE είτε FALSE.
Note: Ο τύπος boolean εισήχθη στην PHP 4.
Σύνταξη
Για να καθορίσετε ένα boolean λεκτικό (literal), χρησιμοποιείστε είτε τη λέξη κλειδί TRUE ή την FALSE. Και οι δυο είναι case-insensitive.
<?php
$foo = True; // assign the value TRUE to $foo
?>
Συνήθως χρησιμοποιείτε κάποιο είδος τελεστή ο οποίος επιστρέφει μια boolean τιμή, και μετά την περνάει πάνω σε μια δομή ελέγχου.
<?php
// == is an operator which test
// equality and returns a boolean
if ($action == "show_version") {
echo "The version is 1.23";
}
// this is not necessary...
if ($show_separators == TRUE) {
echo "<hr>\n";
}
// ...because you can simply type
if ($show_separators) {
echo "<hr>\n";
}
?>
Μετατρέποντας σε boolean
Για να μετατρέψετε μια τιμή σε τύπο boolean, χρησιμοποιείστε είτε την (bool) ή την (boolean) για cast (μετατροπή). Πάντως, στις περισσότερες περιπτώσεις δεν χρειάζεται να χρησιμοποιείτε την cast, αφού μια τιμή θα μετατραπεί αυτόματα αν ο τελεστής, η συνάρτηση ή μια δομή ελέγχου απαιτεί μια παράμετρο τύπου boolean.
Δείτε επίσης το Type Juggling.
Όταν μετατρέπονται σε boolean, οι ακόλουθες τιμές είναι FALSE
- Η ίδια η boolean γίνεται FALSE
- o integer 0 (μηδέν)
- ο float 0.0 (μηδέν)
- το κενό string, και το string "0"
- ένας array με κανένα στοιχείο
- ένα object με κανένα μέλος
- ο ειδικός τύπος NULL (συμπεριλαμβανομένου των unset variables)
Το -1 θεωρείται TRUE, όπως και οποιοδήποτε άλλο μη-μηδενικός (είτε θετικός είτε αρνητικός) αριθμός!
<?php
echo gettype((bool) ""); // bool(false)
echo gettype((bool) 1); // bool(true)
echo gettype((bool) -2); // bool(true)
echo gettype((bool) "foo"); // bool(true)
echo gettype((bool) 2.3e5); // bool(true)
echo gettype((bool) array(12)); // bool(true)
echo gettype((bool) array()); // bool(false)
?>