a; なぜこれは $ 記号なしなのでしょうか? 文法によれば、これは $ 記号なしの定数であるはずです。これは問題ではありませんか? ------解決策 ----------"/> a; なぜこれは $ 記号なしなのでしょうか? 文法によれば、これは $ 記号なしの定数であるはずです。これは問題ではありませんか? ------解決策 ----------">
PHP の $ 記号の問題
PHP の構文は、たとえば、変数 $a="dfadfdfd" を定義することは、変数 $a に値を代入することを意味します。 PHP では、クラスはクラス内で呼び出されます。 $this->a; 文法によれば、これは $ 記号なしの定数であるはずです。は未定義の定数です。これは問題ではありませんか?
-----解決策---------
実は、これは簡単に理解できますが、PHP は元々オブジェクト指向言語ではありませんが、オブジェクト指向をサポートしています
このように、通常の変数とクラス変数を区別する必要があるという問題が発生します。そうしないと、どれが呼び出されているかわかりません。
例:
[code=php]
var $a = 0;
class A{
var $a = 1;
function test(){
global $a;//クラスの外で変数 $a を直接呼び出す前に宣言する必要があります
echo "$a=".$a; //ここでの $a の値は 0
echo "
$a=".$this->a;//ここでの $a の値は 1
}
}
[/code]
Hope これは、2 つの違いを理解するのに役立ちます。