如何使用 PHP 输出控制函数将循环结果加载到缓冲区而不将结果回显到浏览器?本质上,我想要做的是从缓冲区调用结果,而不是在循环中“按时”回显我的方式。是否有可能做到这一点?任何帮助表示赞赏。谢谢!
问问题
65 次
2 回答
1
使用ob_get_contents获取缓冲区内容而不发送它们。
清理缓冲区调用ob_end_clean
一步完成,调用ob_get_clean
一个例子是
ob_start();
foreach ($results as $result){
include("tmplate/to/render/a/result.php");
}
$resultHTML = ob_get_clean();
然后以后。
<div class='left-rail'><?= $resultHtml ?></div>
于 2013-06-12T18:48:24.657 回答
1
仍然不清楚您的意思,但这里有一个基于过去 php 程序员经验的答案: PHP 是一门完整的编程语言,因此您可以构建复杂的数据结构而不会产生任何输出。如果你正在从数据库中读取行,你可以将它们读入一个数组,对数组做任何你想做的事情,然后在你准备好时产生输出。
如果您通过在许多步骤中扫描数组来生成输出,您可以逐渐构建一个字符串(或更多,如果您的情况有必要的话)并在您知道您想要做什么时再次输出它们。
这些方面的东西:
$output = "";
foreach ($my_array as $row) {
$output .= "<li>".$row."</li>\n";
// plus various checks etc.
}
我知道你在追求什么吗?
于 2013-06-12T19:01:26.847 回答