私は今、PHP を独学で勉強しており、Band of Brothers のビデオチュートリアルを見て、変数の範囲を学習しました。
$a = 10;
$a+=10;ただし、例に従うと、 Notice: Unknown variable: a のようなエラー メッセージが表示され、関数内で最初に $a に値を代入すれば問題ありません。私の場合は5.3+です。 phpのバージョンの問題でしょうか?
議論への返信(解決策)
このプログラムでは、$a は関数内のローカル変数ですが、関数の外で事前に宣言した変数 $a を参照したい場合は、global を追加する必要があります。
グローバル $ a; このプログラムでは、$a は関数内のローカル変数です。関数の外で事前に宣言した変数 $a を参照したい場合は、global
echo $a;
悪くないです! ~
グローバル変数は GLOBAL で追加する必要があることはわかっています。ただし、ビデオ チュートリアルの例は GLOBAL を追加しなくても実行でき、エラー メッセージも表示されません。ローカルで指示に従うと、「通知: 未定義の変数: a. 何が起こっているのかわかりません
グローバル変数を GLOBAL で追加する必要があることはわかっています。」というエラーが表示されます。ただし、ビデオ チュートリアルの例は GLOBAL を追加しなくても実行でき、エラー メッセージも表示されません。ローカルで指示に従うと、「通知: 未定義の変数: a. 何が起こっているのかわかりません。」というメッセージが表示されます。教師のコードを自分で試してみると、変数、グローバル変数、ローカル変数のスコープの重要性がわかります。教師が通知エラー レベルをブロックしたため、このコードを実装するためにどのバージョンを使用したかを把握することよりも重要です
。
最初の行に error_reporting(E_ALL & ~E_NOTICE); を追加すると、エラーは報告されません。
言いたいことは理解できますが、この問題はまだわかりません。このエラーの原因が PHP のバージョンにあるのかどうかを確認したいだけです。次回はこの問題に注意します。今のところ、私の質問に直接答えてくれた人は誰もいません。 ! !
#6で説明した理由により、PHPのバージョンとは関係ありません。
わかりました、モデレータさん、ご回答ありがとうございます。試してみましたが、本当でした。