php における定数と静的変数の違い: 1. 定数は不変の量ですが、静的変数は self を通じて代入および変更できます; 2. コンパイル効率の観点からは、定数のコンパイル プロセスは高速です。一方、静的変数のコンパイル プロセスは遅くなります。
このチュートリアルの動作環境: Windows10 システム、PHP7.1 バージョン、DELL G3 コンピューター
効率の観点から: 定数コンパイル プロセスは静的変数よりもはるかに高速です。
コード:
<?php error_reporting(E_ALL); class A { const c = 9; public static $b = 5; public function setst ($ca) { self::$b = $ca; } } $obj = new A; echo $obj->c;//出错,是类的属性,不是对象的属性 echo $obj->$b;//出错,是类的属性,不是对象的属性 echo $obj::c;//ok, echo A::c;//ok echo $obj::$b;//ok echo A::$b;//ok $obj->setst(100);//更改静态变量的值 echo $obj::$b;//更改成功 ?>
結論:
$obj->c を使用してアクセスできるのは、インスタンスのプロパティのみです。
静的変数と定数はクラスの属性です。クラス属性には二重コロン (::) を使用してアクセスでき、オブジェクト名またはクラス名を通じてアクセスできます。
定数は不変であり、静的変数は self を通じて割り当ておよび変更できます。
const 定数: クラスの不変属性
静的変数: クラスの可変属性
推奨される学習: 「PHP ビデオ チュートリアル 」
以上がPHPの定数と静的変数の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。