違い: const は一度定義すると変更できませんが、static で変更された変数は変更できます。 const はクラス属性のみを変更でき、クラス メソッドは変更できません。static はメソッドだけでなく属性も変更できます。

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
静的およびconst 変数の違い
static 変数
1.static 静的変数は変更できます。ただし、const 変数は変更できません
2.static 静的変数はアクセス許可を変更できます
3.java と同様に、クラス内では、satic 変更されたメソッドの本体は変更できませんクラスの非静的メンバー変数にアクセスしますが、クラスの静的変数とクラスの const 定数にのみアクセスできます
1 2 3 4 5 6 7 8 9 10 | class staticTest1 {
var $var1 = "hello" ;
public static $var2 = "hellostatic" ;
const var3 = "helloconst" ;
public static function displayDifferent(){
### echo $this -> $var1 . "<br>" ;
echo staticTest1:: $var2 . "<br>" ;
echo self::var3. "<br>" ;
}
}
|
ログイン後にコピー
//メソッドは 2 つの方法で呼び出すことができます
1 2 3 4 5 6 7 | $test1 = new staticTest1();
echo $test1 ->displayDifferent();
echo "<br>" ;
echo staticTest1::displayDifferent();
echo "<br>" ;
|
ログイン後にコピー
ちなみに、「::」はオブジェクトの静的変数とメソッドにのみアクセスでき、self は「::」を使用して現在のクラスのメンバーを呼び出すことしかできません
const 変数
1. const 変数はメンバー変数のみを変更でき、メソッドは変更できません
2. 変更権限は必要ありません
3 .const 変数が属しているためクラス全体に割り当てられており、オブジェクトに属していない場合、オブジェクトを通じてアクセスすることはできません。たとえば、$this->constvariable では
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class constTest1 {
var $var1 = "welcome" ;
const pi = 3.14;
function displayDifferent() {
echo self::pi. "<br>" ;
}
static function displayDifferent2() {
echo self::pi. "<br>" ;
}
}
|
ログイン後にコピー
2 つのメソッド呼び出しは許可されません
1 2 3 4 5 6 7 | $test2 = new constTest1();
echo $test2 ->displayDifferent();
echo constTest1::displayDifferent2();
|
ログイン後にコピー
推奨学習: 「PHP ビデオ チュートリアル
」###
以上がPHPのconst変数と静的変数の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。