BlaBla.cn

Booleans


Booleans

This is the simplest type. A boolean expresses a truth value. It can be either TRUE or FALSE .

Note: The boolean type was introduced in PHP 4.

Syntax

To specify a boolean literal, use the keywords TRUE or FALSE . Both are case-insensitive.

<?php
$foo 
True // assign the value TRUE to $foo
?>

Typically, some kind of operator which returns a boolean value, and the value is passed on to a control structure.

<?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 instead, this can be used:
if ( $show_separators ) {
    echo 
"<hr>\n" ;
}
?>

Converting to boolean

To explicitly convert a value to boolean, use the (bool) or (boolean) casts. However, in most cases the cast is unncecessary, since a value will be automatically converted if an operator, function or control structure requires a boolean argument.

See also Type Juggling.

When converting to boolean, the following values are considered FALSE :

  • the boolean FALSE itself
  • the integer 0 (zero)
  • the float 0.0 (zero)
  • the empty string, and the string "0"
  • an array with zero elements
  • an object with zero member variables (PHP 4 only)
  • the special type NULL (including unset variables)
  • SimpleXML objects created from empty tags

Every other value is considered TRUE (including any resource).

Warning

-1 is considered TRUE , like any other non-zero (whether negative or positive) number!

<?php
var_dump
((bool)  "" );         // bool(false)
var_dump ((bool)  1 );          // bool(true)
var_dump ((bool) - 2 );         // bool(true)
var_dump ((bool)  "foo" );      // 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)
?>

 
BlaBla.cn

© 2005-2008 BlaBla.cn 版权所有