2017-10-16 95 views
0

我有一個對象數組,我想通過鍵訪問值。使用密鑰名稱從關聯數組中獲取值

<?php 

    $name = [ 
       [ 
        'firstname' => 'John', 
        'lastname' => 'Doe', 
        'middlename' => 'Bray' 
       ], 
       [ 
        'firstname' => 'John2', 
        'lastname' => 'Doe2', 
        'middlename' => 'Bray2' 
       ]   
    ]; 

    $count = count($name); 
    for($i = 0; $i < $count; $i++){ 
     $cell = $name[$i]; 
     echo $cell->lastname; 
     echo $cell->middlename; 
    } 
?> 

我認爲最後2行會做,但我得到一個錯誤! 我需要做什麼o使它工作?

問候, 埃利奧費爾南德斯

+0

我不明白你問什麼,你需要什麼 –

+1

$ cell ['lastname']而不是$ cell-> lastname; – IsThisJavascript

+0

也可以使用php函數foreach查找。 – TimBrownlaw

回答

0

$cell是一個關聯數組,而不是一個對象。訪問關聯數組中元素的語法是$arr['key']。訪問對象屬性的語法是$obj->prop

所以,像這樣使用:

echo $cell['lastname']; 
echo $cell['middlename']; 
+0

感謝大家的回答和建議。 –

1

變化

echo $cell->lastname; 
echo $cell->middlename; 

echo $cell['lastname']; 
echo $cell['middlename']; 
1

變化

echo $cell->lastname; 

echo $cell['lastname']; 

您正在玩數組而不是對象。

此外,您可以使用foreach循環而不是for,因爲您不必計數並循環計數。

foreach($name as $cell){...