[英]Placing data that is generated on bottom of page to top
我的页面中间有一些foreach循环。 在这些foreach中,我在$ each有数据的foreachloop末尾添加了一些变量。
现在我想在foreach之前将这些数据显示在我的页面顶部,这意味着如果我转储var则为false或未设置...
现在,我想知道解决此类问题的最佳方法是什么?
我也可以在顶部执行两次相同的foreach来获取数据,但是对于此类问题,最佳实践是什么?
仅举一个例子
$sum = false;
echo "<center>Sum: {$sum}</center>";
$sum = 0
foreach ($a as $b) {
$sum += $b
}
我知道var是错误的,因为没有发生循环,但是对于设计,我想首先展示一下..那么我如何做到这一点,javascrip?
一种流行的方法是在开始处理实际输出之前操纵变量。 要使用您的示例,是的,您可能会在处理数据时运行一次foreach,然后稍后再显示一次。
对于您的特定示例,好处可能并不明显,但是一旦您开始处理包含更多数据的较大页面,拆分逻辑和显示变得更加简单。
处理数据
<?php
$sum = 0;
foreach ($a as $b) {
$sum += $b;
}
?>
显示它
<center>Total record(s): <?=$sum?></center>
<?php foreach($a as $b) { ?>
<p>Value: <?=$b?></p>
<?php } ?>
注意: <?=$var?>
的简写语法表示<?php echo $var; ?>
<?php echo $var; ?>
,并且默认情况下仅从PHP 5.4
开始启用。
编辑以显示替代项
如果您真的只想循环一次,并且乐于将逻辑和显示混合在一起,则可以在计算总和时构建通常位于循环内的HTML输出。
<?php
$valuesHtml = "";
$sum = 0;
foreach ($a as $b) {
$sum += $b;
$valuesHtml .= "<p>Value: {$b}</p>";
}
?>
<center>Total record(s): <?=$sum?></center>
<?=$valuesHtml?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.