zfxcms ^回到顶部

您的当前位置:首页 > php资讯 > PHP基础 > php 判断类里面的常量

php 判断类里面的常量

所属分类: PHP基础   2022-10-21 21:41:38  编辑:admin  浏览次数 1459 次

class A {const STATUS_SUCCESS = 1;const STATUS_FAILED = 0;}

要怎样才能判断类中是否包含 A::STATUS_SUCCESS 这个变量呢? 理论上来讲,我们可以使用 PHP 的 Reflection 机制,如:

$ref = new ReflectionClass('A');print_r($ref->getConstants());

/* 输出:

Array ( ['STATUS_SUCCESS'] => 1 ['STATUS_FAILED'] => 0 )

*/

但是, 使用 反射 的话,对性能影响可是很大的,如果只需要简单的判断是否存在某某名称的常量,可以这样操作:

class A {const STATUS_SUCCESS = 1;const STATUS_FAILED = 0;

public function checkStatus() { return defined("self::STATUS_SUCCESS"); }

}

var_dump((new A)->checkStatus());

/* 输出:

bool(true)

*/

通过这种方法,能简单的判断是否出现是否存在常量


PHP文章检索

PHP文章目录