PHP foreach循环,每一步都会在循环外创建新的包装器
我需要一些关于这个的建议。如果我有一个PHP foreach循环:PHP foreach循环,每一步都会在循环外创建新的包装器,php,foreach,Php,Foreach,我需要一些关于这个的建议。如果我有一个PHP foreach循环: <div class="wrapper"> <?php foreach ($item as $element): ?> <!-- some HTML of $element --> <?php endforeach; ?> </div> 我是否需要在外部运行另一个foreach来实现这一点 谢谢你试试这个 $i = 0; <?php
<div class="wrapper">
<?php foreach ($item as $element): ?>
<!-- some HTML of $element -->
<?php endforeach; ?>
</div>
我是否需要在外部运行另一个foreach
来实现这一点
谢谢你试试这个
$i = 0;
<?php
foreach ($item as $element) {
if($i%5==0) echo "<div class=\"wrapper\">";
?>
<!-- some HTML of $element -->
<?php
if($i%5==4) echo "</div>";
$i++;
}
?>
$i = 0;
<?php foreach($item as $element) : ?>
<?php if($i == 0) : $i=5; ?>
<div class="wrapper">
<?php endif; ?>
<!-- some HTML of $element -->
<?php $i -= 1; if($i == 0) : ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
$i=0;
试试这个
$i = 0;
<?php
foreach ($item as $element) {
if($i%5==0) echo "<div class=\"wrapper\">";
?>
<!-- some HTML of $element -->
<?php
if($i%5==4) echo "</div>";
$i++;
}
?>
$i = 0;
<?php foreach($item as $element) : ?>
<?php if($i == 0) : $i=5; ?>
<div class="wrapper">
<?php endif; ?>
<!-- some HTML of $element -->
<?php $i -= 1; if($i == 0) : ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
$i=0;
可能的解决方案:
<div class="wrapper">
<?php $counter = 0; ?>
<?php foreach ($item as $element): $counter++; ?>
<!-- some HTML of $element -->
<?php if ($counter % 5 === 0 && $counter !== count($item)): ?>
</div>
<div class="wrapper">
<?php endif; ?>
<?php endforeach; ?>
</div>
可能的解决方案:
<div class="wrapper">
<?php $counter = 0; ?>
<?php foreach ($item as $element): $counter++; ?>
<!-- some HTML of $element -->
<?php if ($counter % 5 === 0 && $counter !== count($item)): ?>
</div>
<div class="wrapper">
<?php endif; ?>
<?php endforeach; ?>
</div>
试试这个
$i = 0;
<?php
foreach ($item as $element) {
if($i%5==0) echo "<div class=\"wrapper\">";
?>
<!-- some HTML of $element -->
<?php
if($i%5==4) echo "</div>";
$i++;
}
?>
$i = 0;
<?php foreach($item as $element) : ?>
<?php if($i == 0) : $i=5; ?>
<div class="wrapper">
<?php endif; ?>
<!-- some HTML of $element -->
<?php $i -= 1; if($i == 0) : ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
$i=0;
试试这个
$i = 0;
<?php
foreach ($item as $element) {
if($i%5==0) echo "<div class=\"wrapper\">";
?>
<!-- some HTML of $element -->
<?php
if($i%5==4) echo "</div>";
$i++;
}
?>
$i = 0;
<?php foreach($item as $element) : ?>
<?php if($i == 0) : $i=5; ?>
<div class="wrapper">
<?php endif; ?>
<!-- some HTML of $element -->
<?php $i -= 1; if($i == 0) : ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
$i=0;
实际上不,您必须执行opossite,也就是每隔5次在for循环中回显包装器$items@Akis以及如何准确地要求每5项。您可以添加一个计数器并计算模5;)正如neil提议的那样,实际上不,你必须做opossite,也就是每5个循环回显一次包装器$items@Akis以及如何准确地要求每5项。您可以添加一个计数器并计算模5;)正如尼尔建议的那样,我认为这段代码做不到。它将在div中包装第一个元素,然后是第五个元素,以此类推。。。所有其他元素都将在div之外。您测试过它吗?我认为这段代码不会起作用。它将在div中包装第一个元素,然后是第五个元素,以此类推。。。所有其他元素都将在div之外。你测试过吗?