Booleans
This is the simplest type. A boolean expresses a truth value. It can be either TRUE
or FALSE
.
Syntax
To specify a boolean literal, use the constants TRUE
or FALSE
. Both are case-insensitive.
<?php
$foo?=?True;?//?assign?the?value?TRUE?to?$foo
?>
Typically, the result of an operator which returns a boolean value is passed on to a control structure.
<?php
//?==?is?an?operator?which?tests
//?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?this?can?be?used?with?exactly?the?same?meaning:
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 unnecessary, 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
- the special type NULL (including unset variables)
- SimpleXML objects created from empty tags
Every other value is considered TRUE
(including any resource and NAN
).
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)
?>
← Introduction
Integers →
? 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com