访问数组的成员

时间:2013-10-16 08:25:24

标签: php arrays magento

我填充数组的函数:

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): Notice: Undefined index:ERR (3): Warning: Invalid argument supplied for foreach()作为 foreach 的行。

我也尝试了$simpleProducts->$simpleProduct['...,但后来我收到错误,我正在尝试访问非对象。

所以我试图访问simpleProduct['shipping_attribute']中包含的这个值,但我似乎没有成功。想法?

更新 我得到填充的$ simpleProducts数组并将其传递给我的函数是:

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

_getSimpleProductsAsImportArray(atr1, atr2)是调用填充数组的函数的那个​​。我知道它是扭曲的,但这就是项目的方式以及我是如何得到它的。无论如何,直到我的功能正常工作,所以不要偶然发现。

2 个答案:

答案 0 :(得分:1)

您应该像这样使用它:

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

答案 1 :(得分:0)

你也可以试试这个:

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