我的假设之后是基于假设的问题:
Javascript 有null
和undefined
。您可以将变量设置为 null
,表示它没有值,也可以将其设置为 undefined
,表示不知道它是否有值或not - 它根本没有设置。
PHP 有 null
,到目前为止,我使用它的方式与我在 Javascript 中使用 null
的方式相同。 PHP 是否有等效的 undefined
?
最佳答案
不是真的,undefined
在 PHP 中没有对应物。比较 JS 的 undefined
和 PHP
s null
并没有真正堆叠起来,但它与您将要获得的一样接近。在这两种语言中,您都可以分配这些值/非值:
var nothingness = undefined;
$nothing = null;
而且,如果你声明了一个变量,但没有给它赋值,看起来 JS 将 var 解析为 undefined
,而 PHP 解析(或赋值)那个变量 null
:
var nothingness;
console.log(nothingness === undefined);//true
$foo;
echo is_null($foo) ? 'is null' : '?';//is null
不过要小心 isset
:
$foo = null;
//clearly, foo is set:
if (isset($foo))
{//will never echo
echo 'foo is set';
}
据我所知,了解变量是否存在的唯一真正方法是使用get_defined_vars
:
$foo;
$bar = null;
$defined = get_defined_vars();
if (array_key_exists($defined, 'foo'))
{
echo '$foo was defined, and assigned: '.$foo;
}
关于php - Javascript 的未定义的 PHP 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17398816/