是isset()和!==null等效


Are isset() and !== null equivalent?

由于isset似乎是一个函数(http://php.net/manual/en/function.isset.php),调用它可能会有一些开销。所以我想知道使用!== null而不是isset是否会产生更快的代码,同时最重要的是,保持代码的行为完全相同?

来自PHP手册:

isset—确定变量是否已设置并且不是NULL

如果var存在并且值不是NULL,则isset返回TRUE,否则返回FALSE。

http://php.net/manual/en/function.isset.php

函数调用开销非常小,您可能不需要担心它。阅读这篇文章:为什么PHP函数调用如此昂贵?

请注意,isset不是一个函数(它有一个特殊的操作码),所以它更快。

$foo=NULL怎么样?变量可以设置,也可以为空

isset不是函数,它是PHP中的Language construct,速度快得多。

isset确定变量是否已设置且不为NULL。

如上所述,isset用于检查变量是否已设置且不为NULL。为了确保我通常将其用作

if( isset( $var ) === TRUE )
{
 // Do what you want
}

这不会在PHP 中抛出任何不必要的通知