if ($_POST['foo']) {
// bar
}
是不是这句话...if the $_POST['foo'] variable is a boolean, and is true...
,
还是这句话... if the $_POST['foo'] variable isset...
,
还是这句话... if the $_POST['foo'] variable is not null...
,
还是这句话是这些东西的结合?或者这是在说完全不同的东西?
if ($_POST['foo']) {
// bar
}
是不是这句话...if the $_POST['foo'] variable is a boolean, and is true...
,
还是这句话... if the $_POST['foo'] variable isset...
,
还是这句话... if the $_POST['foo'] variable is not null...
,
还是这句话是这些东西的结合?或者这是在说完全不同的东西?
它正在检查该值的真实性。如果为 0、为空或密钥不存在,则为假。如果密钥不存在,那么它也会发出通知。
它验证您传递的变量的布尔值。如果变量等于布尔值 true,如果它包含不为空的内容(例如,数组)或任何不为空的值(不为零的数字),则该变量为 true。
下面是一些示例,来自 PHP 文档 ( http://ca3.php.net/manual/en/language.types.boolean.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)
通常,进入条件语句的任何内容都必须是布尔值,或者必须评估为布尔值。
情况也是如此,$_POST['foo']
它将检查变量的值是布尔值还是计算结果为布尔值。任何不等于""
and的字符串和数字都0
将被视为true
where as""
和0
(或为空)将被视为false
. 如果变量未定义,您将收到Undefined variable
通知,并且该语句也将评估为false