ホームページ  >  記事  >  バックエンド開発  >  PHPの定数と静的変数の違いは何ですか

PHPの定数と静的変数の違いは何ですか

WBOY
WBOYオリジナル
2022-02-10 15:36:483274ブラウズ

php における定数と静的変数の違い: 1. 定数は不変の量ですが、静的変数は self を通じて代入および変更できます; 2. コンパイル効率の観点からは、定数のコンパイル プロセスは高速です。一方、静的変数のコンパイル プロセスは遅くなります。

PHPの定数と静的変数の違いは何ですか

このチュートリアルの動作環境: Windows10 システム、PHP7.1 バージョン、DELL G3 コンピューター

php 定数と php 定数の違いは何ですか?静的変数

効率の観点から: 定数コンパイル プロセスは静的変数よりもはるかに高速です。

コード:

<?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 サイトの他の関連記事を参照してください。

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