繁体   English   中英

将生成的数据放在页面底部到顶部

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM