我正在将旧代码从PHP 4升级到PHP 5,我经常看到的是:
if (!$variable) {
// for example...
$variable = "test";
}
要理解我需要知道的代码,如果可以在PHP 4次之前通过这样做来检查变量是否存在。
我很抱歉,但我无法谷歌答案。
答案 0 :(得分:0)
if (!$variable)
测试$variable
是否评估为false
。根据章节Converting to boolean,很多内容都评估为false
:
因此,使用这种代码来测试变量是否已经设置是危险的。此外,它会在使用变量但未设置变量时生成通知。
是的,代码将使用PHP 4执行。但是当$variable
设置为0
,空字符串或字符串'0'
时,您可能会收到意外结果。
对于更干净的代码,您应该使用isset:
if (!isset($variable)) {
// for example...
$variable = "test";
}
根据文档,PHP {4}引入了isset
。