2010-09-02 53 views
1

在我的應用我得到返回的對象的數組,我試圖訪問訪問這樣$array[0]->name數組內的對象,但它並沒有出於某種原因,PHP不能訪問對象數組

我試圖訪問它像這樣 - $var = $array[0]; $var->name它告訴我這個錯誤>Trying to get property of non-object

這是怎麼回事?爲什麼我不能訪問該對象?我如何訪問它? 也,如果我只是有一個多維數組而不是數組的對象會更好?

的var_dump:$陣列//

array(2) { 
    [0]=> 
    object(stdClass)#16 (9) { 
    ["id"]=> 
    string(1) "1" 
    ["name"]=> 
    string(27) "нямам си и идея" 
    ["description"]=> 
    string(19) "емиииии....." 
    ["price"]=> 
    string(3) "823" 
    ["lang"]=> 
    string(2) "bg" 
    ["category"]=> 
    string(1) "0" 
    ["slug"]=> 
    string(7) "shalala" 
    ["status"]=> 
    string(1) "1" 
    ["sid"]=> 
    string(1) "1" 
    } 
    [1]=> 
    object(stdClass)#17 (9) { 
    ["id"]=> 
    string(1) "2" 
    ["name"]=> 
    string(19) "no tyore idea what " 
    ["description"]=> 
    string(22) "are you talking to me " 
    ["price"]=> 
    string(3) "823" 
    ["lang"]=> 
    string(2) "en" 
    ["category"]=> 
    string(1) "0" 
    ["slug"]=> 
    string(7) "shalala" 
    ["status"]=> 
    string(1) "1" 
    ["sid"]=> 
    string(1) "1" 
    } 
} 

vardump [0]

object(stdClass)#16 (9) { 
    ["id"]=> 
    string(1) "1" 
    ["name"]=> 
    string(27) "нямам си и идея" 
    ["description"]=> 
    string(19) "емиииии....." 
    ["price"]=> 
    string(3) "823" 
    ["lang"]=> 
    string(2) "bg" 
    ["category"]=> 
    string(1) "0" 
    ["slug"]=> 
    string(7) "shalala" 
    ["status"]=> 
    string(1) "1" 
    ["sid"]=> 
    string(1) "1" 
} 

【解析] =框架被在錯誤的代碼行指向我的錯誤被10行高代碼,我沒有看到它:(

+0

錯誤消息說'$ array [0]'不是一個對象。使用'var_dump()'來查看裏面的內容。 – jmz 2010-09-02 14:03:55

+3

你可以粘貼代碼的上下文嗎?看起來在某個地方有一個錯字。 – tamasd 2010-09-02 14:10:09

+0

Grodon,這就是$數組的輸出,在一秒內添加$ array [0] – Aviatrix 2010-09-02 14:11:50

回答

1

的問題是其他地方。

$array[0]不是一個對象,這就是爲什麼它說Trying to get property of non-object

+0

時,它會迴應「foo」最奇怪的事情,它不能解決問題並且因此應該有個註釋 – Gordon 2010-09-02 14:06:34

+1

@Gordon,OK會記住下次。 – shamittomar 2010-09-02 14:16:53