2015-11-02 94 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