国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

使用包含常數(shù)名稱的簡單變數(shù)來存取類別常數(shù)
P粉691461301
P粉691461301 2023-10-20 14:57:01
0
2
728

我正在嘗試存取我的一個類別中的類別常數(shù):

const MY_CONST = "value";

如果我有一個變數(shù)來保存這個常數(shù)的名稱,如下所示:

$myVar = "MY_CONST";

我可以以某種方式存取 MY_CONST 的值嗎?

self::$myVar

這顯然不起作用,因為它是針對靜態(tài)屬性的。 另外,變數(shù)變數(shù)也不起作用。

P粉691461301
P粉691461301

全部回覆(2)
P粉404539732

沒有對應(yīng)的語法,但您可以使用明確查找:

print constant("classname::$myConst");

我相信它也適用於 self::

P粉103739566

有兩種方法可以做到這一點:使用 constant 函數(shù)或使用反射。

常數(shù)函數(shù)

常數(shù)函數(shù)適用於透過 define 宣告的常數(shù)以及類別常數(shù):

class A
{
    const MY_CONST = 'myval';

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

echo A::test(); // output: myval

反射類別

第二種更費力的方法是透過反射:

$ref = new ReflectionClass('A');
$constName = 'MY_CONST';
echo $ref->getConstant($constName); // output: myval
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板