2016-09-22 42 views
1

我有对象,我需要列出它的关键。PHP从对象中的数组中获取密钥

现在我这样做,在的foreach

foreach($obj as $key => $attribute){ 
    var_dump($key); 
} 

有一些PHP内置函数用于获取对象键像array_keys数组?

跟踪

对象(日光浴\查询类型\选择\结果\文献)#1383(1){ [ “字段”:保护] =>阵列(31){[ “pdf_url”] = >串(51) “XXXXXXXXXXXX”[ “标题”] => 串(150)......

+1

显示您$ OBJ。 – Dave

+0

请参阅http://stackoverflow.com/a/22462689/6374322 –

+0

http://stackoverflow.com/a/22462689/4248328 –

回答

3
class A 
{ 
    private $a = 1; 
    protected $b = 2; 
    public $c = 3; 
} 

$object = new A(); 
$fields = get_object_vars($object); 

但是通过这种方法,可以只得到从公共字段你的对象, 即

print_r($fields); 

威尔输出

Array ([c] => 3) 
+0

我试过get_object_vars,但它返回空数组。我现在看到我写了错误的问题,因为它是对象中的数组,并且在obj中没有公共属性。 –

0

问题是,因为它是

阵列中的对象。

我解决问题,这

array_keys($obj->getFields())