我有一个产品作为对象的数组。每个对象都包含一个键= category_title在PHP中重新启动foreach循环
我有一个foreach循环,在带有可配置列的Bootstrap行中生成产品,在我的示例中为$col=3
。
我需要的是一个新的行,如果一个新的category_title出现。
我创建了一个数组来推动其中的所有category_titles
并创建一个变量,如果它是一个新的类别。但现在我被卡住了。
在foreach看起来是这样的:
<?php foreach($productspercat as $product): ?>
<!-- Make sure product is enabled and visible @front end -->
<?php // if($product->enabled && $product->visibility):?>
<?php
$catnew = false;
$categorytitle = $product->category_title;
if(!in_array($categorytitle, $totalcategories, true)):?>
<?php array_push($totalcategories,$categorytitle);
$catnew=true;
?>
<?php endif;?>
<div class="j2store-products-row <?php echo 'row-'.$row; ?> row">
<?php endif;?>
<div class="col-sm-<?php echo round((12/$col));?>">
<h2><?php echo $categorytitle; ;
var_dump($catnew);
?></h2>
test
</div>
<?php $counter++;
$firstrun = true; ?>
<?php if (($rowcount == $col) or ($counter == $total)) : ?>
</div>
<?php endif; ?>
<?php // endif; ?>
<?php endforeach;?>
所以基本上,如果一个新的类别出现,它应该关闭该行,并开始一个新的行用新的列数。
感谢任何帮助!
简单:不要使用'foreach()'。它不是为了重新启动而设计的,但是有了'for'循环,你可以做任何你想做的事情。 – Havenard