PHP中变量的默认值?

Default value of variables in PHP?

提问人:Nate 提问时间:11/20/2012 更新时间:11/20/2012 访问量:9477

问:

我搜索了一下,但我找不到问题的答案。

当一个变量被声明为没有值时,如下所示:

$var;
public $aVar;

变量的值是未知的,就像在许多语言中一样(即以前内存中的任何内容),还是默认情况下变量设置为?null

PHP的

评论


答:

13赞 ThiefMaster 11/20/2012 #1

默认情况下,声明的变量和未定义/未声明的变量是。null

但是,仅这样做不会声明变量,因此您只能声明对象中没有值的变量。$var;

演示:

<?php
class Test { public $var; }
$var;
$t = new Test();
var_dump($var);
var_dump($t->var);

输出:

Notice: Undefined variable: var in - on line 5
NULL
NULL

评论

1赞 fimas 11/20/2012
请注意,如果变量的值为 ,则该函数返回。因此,可以说变量在接收值之前在 PHP 中不存在。isset()FALSEnull
1赞 ThiefMaster 11/20/2012
没错,恕我直言,较大的 PHP WTF 之一。
2赞 ccov77 5/13/2018
@ThiefMaster为什么说这是WTF?文档清楚地表明 isset 函数“确定变量是否已设置且不是 NULL”。默认情况下,$var 为 null,因此 isset 正确返回 false。这不是WTF。