Php 何时将类定义中的变量声明为空值?
这两个例子有什么不同Php 何时将类定义中的变量声明为空值?,php,Php,这两个例子有什么不同 class cl_Configuration { private static $_instance = NULL; ... 及 这些完全一样。声明一个没有值的PHP类属性将在默认情况下将“value”设置为NULL,除非另有暗示、继承或覆盖 您可以通过一个简单的测试来证明这一点: 有关下面的代码,请参见 <?php error_reporting(E_ALL); ini_set('display_errors', 1); class cl_Conf
class cl_Configuration
{
private static $_instance = NULL;
...
及
这些完全一样。声明一个没有值的PHP类属性将在默认情况下将“value”设置为NULL,除非另有暗示、继承或覆盖 您可以通过一个简单的测试来证明这一点: 有关下面的代码,请参见
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
class cl_Configuration {
public static $_instance = NULL;
}
class cl_Configuration_2 {
public static $_instance;
}
var_dump(cl_Configuration::$_instance);
var_dump(cl_Configuration_2::$_instance);
第一个在isset($this->\u实例)
上不返回true
,第二个afalse
?@CamilStaps No,两者都是false,因为对于isset()
,NULL总是false@MichaelBerkowski好吧,我猜是这样的:-)我之前测试过,但我想知道是否还有其他含义,thx!没问题,谢谢你的提问,欢迎来到StackOverflow!
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
class cl_Configuration {
public static $_instance = NULL;
}
class cl_Configuration_2 {
public static $_instance;
}
var_dump(cl_Configuration::$_instance);
var_dump(cl_Configuration_2::$_instance);