2012-06-06 81 views
1

我在工作中使用的框架稍微不熟悉,並試圖訪問存儲在名爲$items的數組內的對象的元素。我試過die(print_r($items[0]))嘗試獲取第一個元素,但它說0是未定義的索引。這裏是print_r($items)的結果:嘗試訪問數組中的對象元素

任何幫助,非常感謝。如果您有任何問題,我會很樂意回答,因爲我知道這有點含糊。我認爲它會佔用太多空間來解釋這個框架的實際工作原理。

我發現第一個元素是2而不是0,但我仍然無法訪問該對象內的任何元素。當我嘗試print_r($items[2]->fields)它沒有返回任何東西,只是一個空白頁。

+0

從代碼中它就像[2]開始的鍵/索引。沒有零 – codingbiz

+0

是的,你是對的..但我仍然不知道如何獲得領域 –

回答

1

我想這是你想要的東西:

$item = current($items); 
foreach ($item->fields as $key => $val) { 
    echo "$key => $val\n"; 
} 

更新:

好像你不能得到$item->fields,因爲它是Dase_DBO_Project對象的保護特性:

[fields:protected] => Array 
1

我沒有看到數組中索引爲0的任何元素,只有鍵5,4,3和2.要獲得陣列中的第一項,請使用current($items)reset($items)

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

乾杯!

+0

下的任何元素是的,我打算在另一頁上使用它,現在我只是試圖拉來自數組內的對象的單個元素。 –