在PHP脚本中-这样的if语句将检查什么?
<?php if($variable){ // code to be executed } ?>
我已经多次看到它在脚本中使用过,现在我真的很想知道它的“作用”。它什么都不丢失;它只是if语句中的一个普通变量…我在任何地方都找不到关于此的任何结果,因此显然我在发布此内容时看起来会很愚蠢。
该构造if ($variable)进行测试以查看是否$variable评估为任何“真实”值。它可以是boolean TRUE,也可以是非空,非NULL值或非零数字。看看PHP文档中的布尔值评估列表。从PHP文档中:
if ($variable)
$variable
TRUE
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_NOTICEUndefined variable $variable。
E_NOTICEUndefined variable $variable