检查类是否有字符串字段

时间:2010-09-20 15:14:54

标签: php

我会谷歌这个,但说实话,我不知道该搜索什么

说我有这个班级

class a
{
    public $a_a, $a_b, $a_c;
}

$true = "a_a";
$false = "a_e";

如何使用字符串来证明该类包含字段a_a,但不包含a_e?

由于

2 个答案:

答案 0 :(得分:7)

使用

在你的情况下:

var_dump( property_exists('a', 'a_a') ); // TRUE

您也可以使用Reflection API,但这对此UseCase来说太过分了:

$reflector = new ReflectionClass('a');
var_dump( $reflector->hasProperty('a_e') ); // FALSE

答案 1 :(得分:1)

您可以使用property_existsReflection。但是你应该知道在PHP 5.3 property_exists之前检查了属性的可见性。因此,如果您使用PHP 5.2并想要检查私有属性的存在,则必须使用Reflection。