Php 如何获取常量的名称?
我能在没有大量案例陈述的情况下得到它吗?看一看 比如(顺便说一句,这很难看,效率也很低): 看一看 比如(顺便说一句,这很难看,效率也很低):Php 如何获取常量的名称?,php,constants,Php,Constants,我能在没有大量案例陈述的情况下得到它吗?看一看 比如(顺便说一句,这很难看,效率也很低): 看一看 比如(顺便说一句,这很难看,效率也很低): 您可以使用[Reflection][1]进行此操作 假设你有下面的班级 class Foo { const STUFF = 1, MORE_STUFF = 3, ... LAST_STUFF = 45; function get_name($id = self::ST
您可以使用
[Reflection][1]
进行此操作
假设你有下面的班级
class Foo {
const
STUFF = 1,
MORE_STUFF = 3,
...
LAST_STUFF = 45;
function get_name($id = self::STUFF)
{
$rc = new ReflectionClass ('Foo');
$consts = $oClass->getConstants ();
foreach ($consts as $name => $value) {
if ($value === $id) {
return $name;
}
}
return NULL;
}
}
您可以使用
[Reflection][1]
进行此操作
假设你有下面的班级
class Foo {
const
STUFF = 1,
MORE_STUFF = 3,
...
LAST_STUFF = 45;
function get_name($id = self::STUFF)
{
$rc = new ReflectionClass ('Foo');
$consts = $oClass->getConstants ();
foreach ($consts as $name => $value) {
if ($value === $id) {
return $name;
}
}
return NULL;
}
}
PHP:
你必须详细说明;目前它没有多大意义。你打算怎么得到这个名字?从
$id
的值开始?为什么需要常量的名称?你打算用这个名字做什么?函数签名意味着你需要传递常数的值,但是函数体只有在传递常数的名字时才正常工作。当您在没有参数的情况下调用该函数时,基本上是在问“是否定义了self::1
defined?”,这肯定不是您想要的。是的,获取常量的尝试很糟糕:(无论如何,我仍然希望获取名称…(并检查其是否已定义)我不确定您是否检查了stackoverflow.And.-1以避免读取这些值。您必须详细说明;目前它没有多大意义。您计划如何获取名称?从$id
的值中?为什么需要常量的名称?您将如何处理该名称?函数签名意味着您需要传递常量的值,但函数体只有在传递常量的名称时才能正常工作。当您在没有参数的情况下调用该函数时,基本上是在问“是否定义了self::1
defined?”,这肯定不是您想要的。是的,获取常量的尝试很糟糕:(无论如何,我仍然想获取名称.)。。(并检查其是否已定义)我不确定你是否检查了stackoverflow.And.-1,因为你没有阅读这些内容。你给出的链接指向的是一个关于C语言的问题,而不是PHP语言。你的答案看起来不像是有效的PHP代码。你给出的链接指向的是一个关于C语言的问题,而不是PHP语言。你的答案看起来不像是有效的PHP代码判定元件。
class Profile {
const LABEL_FIRST_NAME = "First Name";
const LABEL_LAST_NAME = "Last Name";
const LABEL_COMPANY_NAME = "Company";
}
$refl = new ReflectionClass('Profile');
print_r($refl->getConstants());
public enum Ram{a,b,c}
Ram MyEnume = Ram.a;
MyEnume.ToString()