当在页面后面设置时,PHP将获得一个布尔值

当在页面后面设置时,PHP将获得一个布尔值,php,html,conditional,Php,Html,Conditional,在我的页面的页眉中,我有一个条件语句来检查是否设置了$foo boolean,问题是直到加载页脚,$foo boolean才被设置。有没有办法追溯检查此布尔值的状态?没有。至少不是一个简单的方法。您必须使用一个模板系统,该系统可以在页面完成加载后运行输出。您不能“追溯”检查条件。最好先执行footer函数,将footer保存在一个变量中,然后再回显它 或者,更好的做法是,重新构造脚本,以便首先确定所有状态,然后创建HTML。您可以更改页脚的输出,然后生成页眉并首先输出它 ob_start();

在我的页面的页眉中,我有一个条件语句来检查是否设置了$foo boolean,问题是直到加载页脚,$foo boolean才被设置。有没有办法追溯检查此布尔值的状态?

没有。至少不是一个简单的方法。您必须使用一个模板系统,该系统可以在页面完成加载后运行输出。

您不能“追溯”检查条件。最好先执行footer函数,将footer保存在一个变量中,然后再回显它

或者,更好的做法是,重新构造脚本,以便首先确定所有状态,然后创建HTML。

您可以更改页脚的输出,然后生成页眉并首先输出它

ob_start();
outputFooter();
$footer= ob_get_clean();

outputHeader();
outputBody();
echo $footer;

不…只有几个选择,尝试重构代码以确保首先设置值。使用会话设置值也可能是一个选项。

那么这是如何工作的呢?我是否先加载页脚数据,然后再回显?是的。您正在像平常一样处理页脚,但将结果存储在
$footer
变量中,而不是将其发送到浏览器。在这种情况下,您可以随时回显该变量。。在页眉/正文结束后,缓冲区开始工作(因为页脚被正确输出),但我似乎仍然无法检测布尔值是否已设置。我正在使用Wordpress,因此我不确定我是否可以在不做大量工作的情况下重新构造脚本。