未初始化變數的預設值

儘管在 PHP 中沒有必要,但初始化變數是一種非常好的做法。未初始化的變數具有其型別的預設值,具體取決於使用它們的上下文:

未設定和未引用

var_dump($unset_var); // outputs NULL

布林

echo($unset_bool ? "true\n" : "false\n"); // outputs 'false' 

字串

$unset_str .= 'abc';
var_dump($unset_str); // outputs 'string(3) "abc"'

整數

$unset_int += 25; // 0 + 25 => 25
var_dump($unset_int); // outputs 'int(25)'

浮點/雙精度

$unset_float += 1.25;
var_dump($unset_float); // outputs 'float(1.25)'

排列

$unset_arr[3] = "def";
var_dump($unset_arr); //  outputs array(1) {  [3]=>  string(3) "def" }

賓語

$unset_obj->foo = 'bar';
var_dump($unset_obj); // Outputs: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }

在將一個檔案包含到另一個使用相同變數名稱的檔案的情況下,依賴於未初始化變數的預設值是有問題的。