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 :(得分:8)
它正在检查该值的真实性。如果它为0,空,或者密钥不存在那么它就是假的。如果密钥不存在,那么它也会发出通知。
答案 1 :(得分:1)
它验证您传递的变量的布尔值。如果变量等于布尔值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)
答案 2 :(得分:0)
一般来说,任何进入条件语句的东西都必须是布尔值或者必须求值为布尔值。
$_POST['foo']
也是如此,它将检查变量的值是否为布尔值或者是否为布尔值。任何不等于""
和0
的字符串和数字将被视为true
,其中""
和0
(或为空)将是视为false
。如果变量未定义,您将收到Undefined variable
通知,该语句也将评估为false