PHP:从字符串获取类的常量值

时间:2017-09-29 03:40:45

标签: php

示例如下:

<?php

class test{
    const A = "1";
    const B = "2";

    public function getStr($a){
        echo self::$a;
    }

}

$c = new test();
$c->getStr("A");


 ?>

当我使用getStr(“A”)时,如何在窗口中回显变量“A”

2 个答案:

答案 0 :(得分:1)

可以使用ReflectionClass::getConstants完成。

Try this code snippet here

<?php

ini_set('display_errors', 1);

class test{
    const A = "1";
    const B = "2";

    public function getStr($a){

        $class= new ReflectionClass(self::class);//passing class name to ReflectionClass
        echo $class->getConstant($a);//getting required constant.
    }

}

$c = new test();
$c->getStr("A");

答案 1 :(得分:0)

  如果您需要检索常量的值,但不知道其名称,则

constant()非常有用。即它存储在变量中或由函数返回。

<强> Constant Doc

echo constant("self::".$a);