2016-09-22 81 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())