未初始化变量的默认值
尽管在 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" }
在将一个文件包含到另一个使用相同变量名称的文件的情况下,依赖于未初始化变量的默认值是有问题的。