由于isset
似乎是一个函数(http://php.net/manual/en/function.isset.php),因此调用它可能会有一些开销。所以我想知道使用!== null
代替isset
会产生更快的代码,而最重要的是,保持代码的行为完全相同吗?
答案 0 :(得分:5)
来自PHP手册:
isset - 确定变量是否已设置且不是NULL
isset如果var存在且返回值为NULL,则返回TRUE,否则返回FALSE。
http://php.net/manual/en/function.isset.php
函数调用开销很小,你可能不需要担心它。 阅读这篇文章:Why are PHP function calls *so* expensive?
请注意,isset不是一个函数(它有一个特殊的操作码),所以它更快。
答案 1 :(得分:1)
$ foo = NULL,可以设置变量,也可以为null
答案 2 :(得分:0)
isset
不是函数,它在PHP中是Language construct
,速度要快得多。
isset
确定变量是否已设置且不为NULL。
答案 3 :(得分:0)
如上所述isset是检查变量是否设置且不是NULL。为了确保我通常将其用作
if( isset( $var ) === TRUE )
{
// Do what you want
}
这不会在PHP中引发任何不必要的通知