php - 在 PHP 中动态访问类常量

标签 php constants class-constants

我希望能够动态地查找常量的值,但是使用变量不适用于语法。

<?php
class Food {
    const FRUITS = 'apple, banana, orange';
    const VEGETABLES = 'spinach, carrot, celery';
}

$type = 'FRUITS';

echo Food::FRUITS;
echo Food::$type;

?>

给予

apple, banana, orange

Fatal error: Access to undeclared static property: Food::$type

如何动态调用常量?

最佳答案

我想到的唯一解决方案是使用 constant 函数:

echo constant('Food::' . $type);

在这里,您创建一个常量的名称,包括类,作为一个字符串,并将此字符串 ('Food::FRUITS') 传递给 constant 函数。

关于php - 在 PHP 中动态访问类常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48287914/

相关文章:

php - 如何为自定义帖子类型定义菜单标题?

PHPUnit - 数据库测试,如何管理它

php - MySQL 选择提交视频最多的前两个人,其中 type=1

php - PHP 中的长字符串加密和解密

ruby - 如何在 Ruby 中创建私有(private)类常量

php - 特征是否可以具有具有私有(private)和 protected 可见性的属性和方法?特征可以有构造函数、析构函数和类常量吗?

c++ - 为什么 std::is_same 对这两种类型给出不同的结果?

c++ - 无法将此指针从 const Class<T> 转换为 Class<T>&

c++ - 如何检查 const char* 是否以特定字符串开头? (C++)

php - 在类常量 PHP 中组合位标志