我在工作中使用的框架我稍微不熟悉并试图访问存储在名为$items
的数组中的对象元素。我已经尝试die(print_r($items[0]))
尝试获取第一个元素,但它说0是未定义的索引。以下是print_r($items)
:
非常感谢任何帮助。如果您有任何问题我会很乐意回答,因为我知道这有点模糊。我认为这将占用太多空间来解释这个框架实际上是如何运作的。
我发现第一个元素是2而不是0,但我仍然无法访问对象中的任何元素。当我尝试print_r($items[2]->fields)
时,它没有返回任何内容,只是一个空白页。
答案 0 :(得分:1)
我没有在数组中看到任何索引为0的元素,只有键5,4,3和2.要从数组中获取第一项,请使用current($items)
或reset($items)
。
答案 1 :(得分:1)
此处列出的数组的索引编号为0(有关更多帮助,请查看此处:http://php.net/manual/en/language.types.array.php)
而不是尝试使用索引访问每个项目。你为什么不使用foreach
?
foreach($items as $item)
{
//Do what you want with each object here
var_dump($item);
}
这将允许您在不使用索引的情况下访问每个对象。有关使用foreach
的更多信息,请查看此处:http://us3.php.net/manual/en/control-structures.foreach.php
干杯!
答案 2 :(得分:1)
我认为这就是你想要的:
$item = current($items);
foreach ($item->fields as $key => $val) {
echo "$key => $val\n";
}
更新:
似乎你无法获得$item->fields
,因为它是Dase_DBO_Project
对象的受保护属性:
[fields:protected] => Array