使用以下代码(PHP 5.4.4-10,Debian 测试):
<?php
$a = 0;
$b;
echo '$a: ' . $a . PHP_EOL;
echo '$b: ' . $b . PHP_EOL;
我将有以下输出:
$ php teste.php $a: 0 PHP 注意:未定义变量:第 5 行 /tmp/teste.php 中的 b PHP 堆栈跟踪:PHP 1. {main}() /tmp/teste.php:0
注意:未定义的变量:第 5 行 /tmp/teste.php 中的 b
调用堆栈:0.0002 221952 1. {main}() /tmp/teste.php:0
$b:
$b 在 $a 之后定义。为什么它被认为是未定义的?它是一个错误吗?