2013-10-16 16 views
0

,我填補陣列的功能的部件:址的陣列

protected function _getSimpleProductFromQuoteItem($QuoteItem) 
    { 
     $simpleProduct = array(); 
     $simpleProduct['size'] = (string)$QuoteItem->Size; 
     $simpleProduct['shipping_attribute'] = $QuoteItem->Type; 

     return $simpleProduct; 
    } 

在那裏我做$QuoteItem->Type例如 - 我得到一個XML節點的值,但是這是工作,我說它只是爲了澄清。

所以,在這裏我使用這個功能:

protected function _setSimpleProductsItemsShippingAttributes($simpleProducts) 
    { 
     Mage::log('I reached the "foreach" '); 
     foreach($simpleProducts[$simpleProduct['shipping_attribute']] as $item) 
     { 
      Mage::log('ASD: '.$item); 

但我正在逐漸ERR (3): Notice: Undefined variable: simpleProduct和和ERR (3): Warning: Invalid argument supplied for foreach()的foreach線。

我也試過$simpleProducts->$simpleProduct['...但後來我得到錯誤,我試圖訪問一個非對象。

所以我試圖訪問這個值,這是包含在simpleProduct['shipping_attribute'],但我似乎不成功。想法?

UPDATE 從哪裏獲得填充simpleProducts $陣列,並把它傳遞給我的功能是:

$simpleProducts = $this->_getSimpleProductsAsImportArray($Product, $simpleProductDefault); 
     //------ 
     $this->_setSimpleProductsItemsShippingAttributes($simpleProducts); 
     die(); 
     //------ 

_getSimpleProductsAsImportArray(atr1, atr2)是調用數組中填充功能之一。我知道這是扭曲的,但這就是項目的方式,以及我是如何得到它的。無論如何,直到我的功能正常工作,所以不要偶然發現。

+0

爲$ simpleProduct [ 'shipping_attribute']空的值,當您回聲/日誌呢? – Ynhockey

+0

@Ynhockey - 不,它不是空的。它具有它應該達到的價值。 :) – Syspect

回答

1

你應該使用這樣的:

foreach($simpleProducts as $simpleProduct) { 
    $simpleProduct['shipping_attribute']; 
} 
+0

非常感謝!這也幫助我提高了對PHP中'foreach'循環的理解。 – Syspect

0

你也可以試試這個:

foreach($simpleProducts as $key->$value) { 
    $key[$value]; 
}