Forum und email

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)
Οποιαδήποτε άλλη τιμή θεωρείται TRUE (συμπεριλαμβάνεται οποιοδήποτε resource).
Warning

Το -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)
?>