检查是否设置并且是真的?

dyn*_*mic 28 php

是否有检查两者的功能

if (isset($var) && $var)

Art*_*mak 42

empty()功能将完成这项工作.

与not运算符(!)一起使用来测试"if not empty",即

if(!empty($var)){

}
Run Code Online (Sandbox Code Playgroud)

  • 除非你测试一个不存在的数组键*,否则`empty()`不会触发任何错误*. (9认同)
  • 如果未设置变量,`empty`将触发PHP警告.`isset`不会触发警告. (7认同)
  • @Kevin Peno不,它不会.从文档中:`empty()与(boolean)var相反,除了未设置变量时不生成警告. (2认同)
  • 即使对于不存在的数组键或对象属性,“ empty()”也不会触发任何错误。我也很难相信这一点。 (2认同)

Nea*_*eal 7

你去吧 应该这样做.

if (isset($var) && $var)
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用?? 这样的运算符:

if($var ?? false){
   ...
}
Run Code Online (Sandbox Code Playgroud)

这是检查是否$var设置并保持其值。如果不是,在这种情况下,表达式将计算为第二个参数,false但可以将其用于其他方式,例如:

// $a is not set
$b = 16;

echo $a ?? 2; // outputs 2
echo $a ?? $b ?? 7; // outputs 16
Run Code Online (Sandbox Code Playgroud)

此处更多信息:https : //lornajane.net/posts/2015/new-in-php-7-null-coalesce-operator