我正在做一个预测,我想跳过前六个条目。到目前为止,我只需要输出相同的一个,对于剩下的条目数量,我应该把if($i2==6) continue;放在其他地方吗?
<?php
$features = $property->get_features();
if($lastRec2=count($features)){
echo '<div class="row">';
$i2=0;
foreach($features as $feature2) {
$i2++;
if($i2==6) continue;
if( ($i2 % 3== 1) && ($i2<$lastRec2) ) echo '</div><div class="row">';
echo '<div class="col-md-4 p-b-15"><div class="fa-stack fa-1x checkmark-icon"><i class="fa fa-circle fa-stack-2x icon-background"></i><i class="fa fa-check fa-stack-1x icon-text"></i></div><div class="checkmark-inner">'. $feature .'</div></div>';
}
echo '</div>';
}
?>发布于 2016-11-01 18:01:47
只需切换到for循环即可。除非你需要迭代器。
$features = $property->get_features();
if($lastRec2 = count($features)){
echo '<div class="row">';
for ($i2 = 6; $i2 < count($features); ++$i2) {
if( ($i2 % 3 == 1) && ($i2 < $lastRec2) ) echo '</div><div class="row">';
echo '<div class="col-md-4 p-b-15"><div class="fa-stack fa-1x checkmark-icon"><i class="fa fa-circle fa-stack-2x icon-background"></i><i class="fa fa-check fa-stack-1x icon-text"></i></div><div class="checkmark-inner">'. $features[$i2] .'</div></div>';
}
echo '</div>';
}发布于 2016-11-01 17:49:06
应该是
if($i2<=6)
continue;continue;将阻止foreach的其余部分执行。
您的代码将只工作一次,因为$i2只被设置为6一次。
发布于 2016-11-01 18:06:10
您可以使用array_chunk和array_slice来完成您所追求的目标:
http://php.net/manual/en/function.array-slice.php
http://php.net/manual/en/function.array-chunk.php
$features = $property->get_features();
$skipped = array_slice($features, 6);
$chunks = array_chunk($skipped, 3);
foreach ($chunks as $chunk) {
echo '<div class="row">';
foreach ($chunk as $feature) {
echo '<div class="col-md-4 p-b-15"><div class="fa-stack fa-1x checkmark-icon"><i class="fa fa-circle fa-stack-2x icon-background"></i><i class="fa fa-check fa-stack-1x icon-text"></i></div><div class="checkmark-inner">' . $feature . '</div></div>';
}
echo '</div>';
}或者,如果希望使用HTML使代码更具可读性,则可以:
foreach ($chunks as $chunk) : ?>
<div class="row">
<?php foreach ($chunk as $feature) : ?>
<div class="col-md-4 p-b-15">
<div class="fa-stack fa-1x checkmark-icon">
<i class="fa fa-circle fa-stack-2x icon-background"></i>
<i class="fa fa-check fa-stack-1x icon-text"></i>
</div>
<div class="checkmark-inner">
<?php echo $feature ?>
</div>
</div>
<?php endforeach; ?>
</div>
<?php endforeach;当然,我假设$feature2在你的问题上是个错误。如果没有,让我知道哪个变量意味着什么,我会更新我的答案。
希望这能有所帮助!
https://stackoverflow.com/questions/40365601
复制相似问题