如何在循环一次迭代后插入数组?

时间:2014-02-18 17:36:16

标签: php arrays

我有一系列相关产品,每个都有一些网站,我想将它们全部存储在一个数组中我的问题是,当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个项目,但它再次没有对数组产生任何差异

1 个答案:

答案 0 :(得分:0)

虽然您的问题并不完全清楚,但我认为您希望将所有网站ID列表放在一个单维的数组中。

在这种情况下,您可以使用

$web = array_merge($web, $_product->getWebsiteIds());