2015-11-02 95 views
1

我想知道正確的語法來定位數組內的一個數組內的一個數組內的元素。PHP:數組內部訪問元素陣列內部對象

如果我做的var_dump的$result陣列上,它看起來像:

array(1) { 
    [0]=> 
    object(stdClass)#8626 (10) { 
    ["id"]=> string(2) "24" 
    ["fname"]=> string(4) "firstname" 
    ["lname"]=> string(10) "lastname" 
    ["email"]=> string(14) "[email protected]" 
    ["personnummer"]=> string(5) "66655" 
    ["snailmail"]=> string(1) "1" 
    ["lineage_nr"]=> string(1) "6" 
    ["payed"]=> string(1) "0" 
    ["belong_to_lineage"]=> string(1) "1" 
    ["lineage_name"]=> string(0) "" 
    } 
} 

我該如何獲得元素「祈禱,」的價值?

它需要超過:$result[0]->payed ..

我有這行代碼:

echo "<h1> PAYED has the value: " . $result[0]->payed . "</h1>"; 

它導致:

"Trying to get property of non-object" 

編輯: 壞毛病 - 查詢的結果是空的,這就是爲什麼我不能以「$ result [0] - > payed」爲目標(它不存在) 。

+1

的對象的屬性是不是一個數組,他們只是被報告的var_dump這樣。 – GordonM

+4

'$ result [0] - > payed'應該與您展示的內容完美配合。 – deceze

+1

如果索引不是零,或者你不在乎索引是什麼,即關聯數組或非零索引...'current($ result) - > payed'也應該起作用。 –

回答

2

下面是它如何工作的概念證明。是什麼讓你覺得它不? (不要試圖聽起來那麼尖銳)你是否正確引用它?

$obj = array(new stdClass()); 
$obj[0]->firstName = "NAME!"; 
var_dump($obj); 
echo $obj[0]->firstName; 

回聲:

array(1) { 
    [0]=> 
    object(stdClass)#1 (1) { 
    ["firstName"]=> 
    string(5) "NAME!" 
    } 
} 
NAME! 
+0

我從此行中得到「嘗試獲取非對象的屬性」:echo「

PAYED具有值:」。 $ result [0] - >付了。 「

」; (我剛剛更新了我的原始信息) – Galivan

+0

有沒有事情發生,你沒有向我們展示?隨着你發佈的代碼,你應該能夠訪問這樣的屬性。 – BobbyTables

+0

我的壞!我試圖獲得$ result [0] - >的價值,並在沒有返回結果的查詢(空)之後付款。現在我看到...錯誤的錯誤。 – Galivan