PHP - 在字符串中打印命名空间常量?

标签 php string constants representation string-interpolation

我有以下测试代码:

namespace Test {
    const ONE = 50;

    class A {
        const TWO = 5;

        public function pA($string) {
            return $string;
        }
    }

    $a = new A();
    print $a->pA($a::TWO);
    print "This is a string: {$a->pA($a::TWO)}";
    print "This is a namespace constant: " . ONE;
    print "This is a namespace constant: " . \Test\ONE;
}

所有这些示例都有效,但这不是我要找的。

我可以像前两个例子一样使用字符串组合来表示常量吗?我试过很多组合,比如 "${\Test\B}""${B}""${\B}"但是,到目前为止,运气不好。

也许这是不可能的,我做得太过头了,但无论如何......有没有办法做到这一点?

最佳答案

这是行不通的。您可以在双引号字符串中使用 $variables、函数或对象方法调用,但不能使用常量。引用 PHP string parsing documentation .您会发现许多有用的示例。

关于PHP - 在字符串中打印命名空间常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15813415/

相关文章:

java - 字符串得到错误的值

python - 如何判断数组中的任何元素是否是给定字符串的子字符串?

java - 如何以及何时计算静态最终字段值?

c - 为什么不能修改在函数中作为 const 通过引用传递的地址之后的下一个地址的值?

php - 如果 upload_tmp_dir 没有值(value)...我的临时文件去哪里了? -- 实验

php - 是否可以为 Azure 上的 PHP Web 应用程序包含 web.config 文件(或等效文件)?

php - 用户可以在浏览器开发工具中操作选择框值吗

php - 伪先验算法

c# - 替换在某些情况下不起作用

对函数指针 const 数组进行 C 编译时断言