Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在声明前回显变量?php_Php_Variables_Echo - Fatal编程技术网

如何在声明前回显变量?php

如何在声明前回显变量?php,php,variables,echo,Php,Variables,Echo,我需要在页面中回显一个var,但该值在包含在页面中之后会被声明 在声明变量之前,有没有办法回显它?或者,如果您想执行以下操作,可以通过某种方式将页面包含在运行任何代码的页面中,然后只获取var? echo $var; $var = "Hello world"; 答案是否定的。PHP是一种向下运行的解释性语言,不是每一个方向都运行。最简单、最好、最明智的选择是修正逻辑,使所有事情都按逻辑顺序进行 没有做到这一点。将数据存储在变量中,而不是输出它。在要放置变量的位置包含占位符。然后在获得所需数据

我需要在页面中回显一个var,但该值在包含在页面中之后会被声明


在声明变量之前,有没有办法回显它?或者,如果您想执行以下操作,可以通过某种方式将页面包含在运行任何代码的页面中,然后只获取var?

echo $var;

$var = "Hello world";

答案是否定的。PHP是一种向下运行的解释性语言,不是每一个方向都运行。

最简单、最好、最明智的选择是修正逻辑,使所有事情都按逻辑顺序进行


没有做到这一点。将数据存储在变量中,而不是输出它。在要放置变量的位置包含占位符。然后在获得所需数据后,搜索并替换该占位符。

在值存在之前,任何语言都无法输出值。

您可以构建类似模板的解决方案。在页面中放置类似于
###var###
的内容,在页面开头使用
ob#u start()
定义
$var
,然后在页面末尾使用
echo str#u replace(“#var##,$var,ob get#u clean())


例如:

<?php ob_start() ?>
<p>##test##</p>
<?php $test = "this is a test paragraph" ?>
<?php echo str_replace("##test##", $test, ob_get_clean()) ?>

##试验##


查看,然后。

有一种方法可以将JavaScript与PHP结合使用来实现这种回音

$echo  = document.getElementById('dispaly_div').innerHTML = "$variable";

一种方法是使用函数。

例如:

function printvar($string) {
  echo $string;
}
      
printvar("Hello World!");

这是经过测试的,可以正常工作。

好的,我只是想确认一下。我似乎记得读过php在输出之前运行整个代码。。。。谢谢:)+1@Tom,确实如此,您可以在定义函数和类之前使用它们,但不能使用变量。。。毕竟这是一种命令式语言。@Tom我想你正在考虑的是
debug\u backtrace()
,它可以从树中反向读取。也许你应该解释一下你试图解决的问题。在文档中查找最新版本也可能是有益的。@Boldewyn,我会去查找的。thanks0.o现在我迷路了:)我的php仅限于if/else、includes和echo哈哈,但谢谢问题是,当然,在定义变量之前不能使用变量。一种解决方法是呈现整个页面,在页面中放置占位符,然后在脚本末尾定义变量后用变量值替换这些占位符。使用示例和引用更新答案。任何语言都可以这样做,但会打印空值,未定义或无效取决于其“未声明”错误定义。@markcal:我说的是“值”。如果一个变量不包含任何值(或者甚至没有定义),它将输出“nothing”,可能是“undefined”或“null”。这或多或少是一个缺失值的占位符,但不能被当作一个价值。有时最简单的答案是最好的:狄只是开玩笑:无论如何,任何有意义或表示的东西都是一个值,所以我考虑未定义的、空的或无效的值,尽管它们的表示是不安全的,并且如果没有意外的行为就无法处理。请对齐您的代码并进一步描述您的答案