我需要在页面中输出一个变量,但是这个值是在包含到页面后才被声明的。
有没有办法在我声明变量之前输出它?或者某种方式可以包含页面而不运行任何代码并且只获取变量?
没有语言能够在值存在之前明显地输出该值。
echo $var;
$var = "Hello world";
那么答案是否定的。PHP是一种向下运行而不是任意方向的解释性语言。
debug_backtrace()
,它确实可以反向读取整个树形结构。 - James最简单、最好、最明智的选择是修复您的逻辑,使所有事情按照逻辑顺序发生。
如果无法实现,可以将数据存储在变量中而不是输出它。在需要变量的位置包含一个占位符。然后,在获取所需数据后对该占位符进行搜索和替换。
##var##
这样的内容,使用ob_start()
在页面开头,定义你的$var
在任何地方,然后,在页面结束时,使用echo str_replace('##var##', $var, ob_get_clean());
。
<?php ob_start() ?>
<p>##test##</p>
<?php $test = "this is a test paragraph" ?>
<?php echo str_replace("##test##", $test, ob_get_clean()) ?>
有一种方法可以在PHP中使用JavaScript来实现这种回显。
$echo = document.getElementById('dispaly_div').innerHTML = "$variable";
一种方法是使用函数。
例如:
function printvar($string) {
echo $string;
}
printvar("Hello World!");
这已经经过测试并且可以正常工作。