一尘不染

if($ variable)如何工作?

php

在PHP脚本中-这样的if语句将检查什么?

<?php if($variable){ // code to be executed } ?>

我已经多次看到它在脚本中使用过,现在我真的很想知道它的“作用”。它什么都不丢失;它只是if语句中的一个普通变量…我在任何地方都找不到关于此的任何结果,因此显然我在发布此内容时看起来会很愚蠢。


阅读 220

收藏
2020-05-29

共1个答案

一尘不染

该构造if ($variable)进行测试以查看是否$variable评估为任何“真实”值。它可以是boolean
TRUE,也可以是非空,非NULL值或非零数字。看看PHP文档中的布尔值评估列表。从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_NOTICEUndefined variable $variable

2020-05-29