2つのクラスのいずれかからのオブジェクトに対してvar_dumpを実行すると、同じ結果が得られます
Class Node{
public $parent = null;
public $right = null;
public $left = null;
function __construct($data){
$this->data = $data;
}
}
Class Node{
public $parent;
public $right;
public $left;
function __construct($data){
$this->data = $data;
}
}
例えば
$a = new Node(2);
var_dump($a);
上記のクラスのいずれかに対して以下を返します
object(Node)#1 (4) {
["parent"]=>
NULL
["right"]=>
NULL
["left"]=>
NULL
["data"]=>
int(2)
}
これは変数には当てはまらないようです。
$b;
var_dump($b);
プロパティに値を持たせる場合はnull
、phpが自動的に行うように見えるので、明示的に記述する必要がありますか?
また-この回答https://stackoverflow.com/a/6033090/784637によると、初期化されていない変数の値を取得しようとすると、C++は未定義の動作をします。そのプロパティが値に初期化されていない場合、C ++はクラス内のプロパティの値をnull
phpと同じように自動的に設定しますか?