a; なぜこれは $ 記号なしなのでしょうか? 文法によれば、これは $ 記号なしの定数であるはずです。これは問題ではありませんか? ------解決策 ----------"/> a; なぜこれは $ 記号なしなのでしょうか? 文法によれば、これは $ 記号なしの定数であるはずです。これは問題ではありませんか? ------解決策 ----------">

ホームページ  >  記事  >  バックエンド開発  >  PHP の $ 記号に関連する問題

PHP の $ 記号に関連する問題

WBOY
WBOYオリジナル
2016-06-13 13:35:57772ブラウズ

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 つの違いを理解するのに役立ちます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。