0

次のコード (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 Notice: 未定義変数: b in /tmp/teste.php 行 5 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 の後に定義されています。なぜ未定義と見なされるのですか?バグですか?

4

1 に答える 1

3

バグではありません。変数を宣言しましたが、定義していません (つまり、変数に値を割り当てていません)。

于 2013-01-16T10:11:51.327 に答える