我有一系列相关产品,每个都有一些网站,我想将它们全部存储在一个数组中我的问题是,当foreach循环转到其他相关产品时,它不会存储另一个产品而且我使用了{ {1}}它会显示正确的但是在二维数组中,因为我将它初始化为数组然后再将其插入到其他数组中。我有$ web = array()的原因;是我的代码的一部分包含在其他代码中,所以我应该清空我的数组,所以我使用了这个方法。代码和输出如下:
$web[]
输出:
<?php
echo "-------related----------<br>";
echo 'Productid: '.$productid."<br>";
$_product = Mage::getModel('catalog/product')->load($productid);
$web= array();
foreach ($_product->getRelatedProducts() as $_product)
{
echo 'Related Website ids for: '.$_product->getSku().'<br>';
echo '<pre>website IDs in related:<br>';
echo "=============";
$web+=$_product->getWebsiteIds();
echo "=============";
print_r($_product->getWebsiteIds());
echo "=====inside array ====";
print_r($web);
echo "<br>webcount in related:".print_r(count($web))."<br>";
}
echo'<br>';
echo "Array OF ALL RELATED PRODUCTS:";
foreach($web as $key => $value) {
echo "<pre>";
echo $key. "=>". $value;
}
echo "<br><br>COUNT".count($web);
echo '</pre>';
echo "-------------------------";
?>
正如您所看到的第二个相关产品我有3个项目,但它再次没有对数组产生任何差异
答案 0 :(得分:0)
虽然您的问题并不完全清楚,但我认为您希望将所有网站ID列表放在一个单维的数组中。
在这种情况下,您可以使用
$web = array_merge($web, $_product->getWebsiteIds());