Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php (快速简单)这段代码到底在做什么?_Php_If Statement - Fatal编程技术网

Php (快速简单)这段代码到底在做什么?

Php (快速简单)这段代码到底在做什么?,php,if-statement,Php,If Statement,这是说…如果$\u POST['foo']变量是一个布尔值,并且为true 还是说。。。如果设置了$\u POST['foo']变量 还是说。。。如果$\u POST['foo']变量不为null 或者这句话是这些东西的组合?或者这是在说完全不同的东西?它在检查该值的真实性。如果为0、为空或密钥不存在,则为false。如果键不存在,那么它也会发出一个通知。一般来说,进入条件语句的任何内容都必须是一个布尔值,或者必须计算为布尔值 $_POST['foo']也是如此,它将检查变量的值是否为布尔值或其

这是说…如果$\u POST['foo']变量是一个布尔值,并且为true

还是说。。。如果设置了$\u POST['foo']变量

还是说。。。如果$\u POST['foo']变量不为null


或者这句话是这些东西的组合?或者这是在说完全不同的东西?

它在检查该值的真实性。如果为0、为空或密钥不存在,则为false。如果键不存在,那么它也会发出一个通知。

一般来说,进入条件语句的任何内容都必须是一个布尔值,或者必须计算为布尔值


$_POST['foo']也是如此,它将检查变量的值是否为布尔值或其计算结果是否为布尔值。任何分别不等于和0的字符串和数字将被视为true,其中as和0或为空将被视为false。如果变量未定义,您将收到未定义变量通知,并且该语句的计算结果也将为false

它将验证您传递的变量的布尔值。如果变量等于布尔值true,如果它包含非空的内容(例如,数组或任何非空值或非零的数字),则为true

以下是PHP文档中的几个示例:

布尔比较:
if ($_POST['foo']) {
    // bar
}
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)