質問:
を使用してクラス定数の値に動的にアクセスすることは可能ですか?定数の名前を含む変数ですか?
答え:
はい、これを実現するには 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 サイトの他の関連記事を参照してください。