ホームページ > バックエンド開発 > PHPチュートリアル > 変数を使用してクラス定数値に動的にアクセスできますか?

変数を使用してクラス定数値に動的にアクセスできますか?

Barbara Streisand
リリース: 2024-11-04 03:17:02
オリジナル
967 人が閲覧しました

Can I Access Class Constant Values Dynamically Using a Variable?

クラス定数の値を動的に取得する

質問:

を使用してクラス定数の値に動的にアクセスすることは可能ですか?定数の名前を含む変数ですか?

答え:

はい、これを実現するには 2 つの方法があります: 定数関数を使用するか、リフレクションを使用します。

方法 1: 定数関数

定数関数を使用すると、define 定数とクラス定数で宣言されたユーザー定義定数の値を取得できます:

<code class="php">class A
{
    const MY_CONST = 'myval';

    static function test()
    {
        $c = 'MY_CONST';
        return constant('self::'. $c);
    }
}

echo A::test(); // outputs "myval"</code>
ログイン後にコピー

方法 2: リフレクション クラス

より包括的なアプローチは、リフレクションを使用することです:

<code class="php">$ref = new ReflectionClass('A');
$constName = 'MY_CONST';
echo $ref->getConstant($constName); // outputs "myval"</code>
ログイン後にコピー

以上が変数を使用してクラス定数値に動的にアクセスできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート