这是问题所在,我试图在动态生成的HTML之后回显一个语句或一个数组,不幸的是我想要回显的东西高于HTML,有没有办法在动态HTML之后回应它或者解决它?
代码:
<a href="index.php?id=do_something">Link 1</a>
<a href="index.php?id=do_something_else">Link 2</a>
if(isset($_GET["id"]) && $_GET["id"] == "do_something") {
$html = "dynamic html generate";
echo $html;
//after this im using foreach
foreach($array as $item) { echo $item . "<br />"; }
}
当我点击这两个中的一个时,会显示动态生成的HTML。现在我举个例子:
$array = array("error1", "error2");
所有生成的PHP都高于动态HTML:/。 我应该如何修复它以便我可以在动态HTML下面回显所有这个数组?
由于
答案 0 :(得分:0)
使用ob_start
缓冲ob_start();
// dynamic html code generate
$dynamic_html = ob_get_clean();
echo $dynamic_html;
// your code
echo $dynamic_html;
答案 1 :(得分:0)
听起来你错过了动态html中的一些结束标记(很可能是</table>
)。这就是为什么后来生成的回声显示在顶部。
示例(请注意缺少的结账表):
<?php
echo "<table><tr><td>TableText</td></tr>";
echo "I should be bellow the table, but going to the top.";
?>
将产生:
I should be bellow the table, but going to the top.
TableText