if($variable)究竟是如何工作的?
2022-08-30 08:54:54
可能的重复:
关于 PHP 中的 if 语句
在PHP脚本中 - 像这样的if语句检查什么?
<?php if($variable){ // code to be executed } ?>
我已经多次看到它在脚本中使用,现在我真的很想知道它“寻找”什么。它没有遗漏任何东西;它只是if语句中的一个普通变量...我在任何地方都找不到有关此内容的任何结果,所以显然我会看起来很愚蠢。
可能的重复:
关于 PHP 中的 if 语句
在PHP脚本中 - 像这样的if语句检查什么?
<?php if($variable){ // code to be executed } ?>
我已经多次看到它在脚本中使用,现在我真的很想知道它“寻找”什么。它没有遗漏任何东西;它只是if语句中的一个普通变量...我在任何地方都找不到有关此内容的任何结果,所以显然我会看起来很愚蠢。
构造测试以查看是否计算为任何“真实”值。它可以是布尔值,也可以是非空值、非 NULL 值或非零数。查看 PHP 文档中的布尔评估列表。if ($variable)$variableTRUE
从 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)
但请注意,在测试变量或数组键是否已初始化时,这不适合使用。如果变量或数组键尚不存在,这将导致 .if ($variable)E_NOTICE Undefined variable $variable
if 转换为布尔值,并根据该转换的结果进行操作。$variable
有关详细信息,请参阅布尔文档。
若要将值显式转换为布尔值,请使用 (bool) 或 (布尔)转换。但是,在大多数情况下,强制转换是不必要的,因为如果运算符、函数或控制结构需要布尔参数,则会自动转换值。