我需要帮助将分配给变量的值返回到语句之外的代码的开头。
所以如果在开始时a = 0,然后由于语句后a的值发生变化,我希望能够将a的新值返回到页面的开头并替换旧的值a(a = 0)。
CODE
<?php
$a = 0;
echo $a;
if (10>5){
$a = 5;
}
?>
所以在这段代码中,当我启动页面时,我应该再看到0,它应该是新值
谢谢!
答案 0 :(得分:0)
<强>问题:强>
我有我的&#34; $ a&#34;在页面开头设置为0,当语句执行时,它应该返回到开始并更改
<强>解决方案:强>
PHP按顺序执行语句,因此无法返回到开头。话虽如此,您仍然可以通过使用goto
控制执行流程来实现所需的结果,如下所示:
<?php
$a = 0;
goto a;
b:
echo $a; // output 5
goto c;
a:
if (10 > 5){
$a = 5;
goto b;
}
c:
echo "<br />execution continues";
?>
输出:
5
execution continues
警告:请勿在代码中使用过多的goto
语句,因为这会使您的代码对于未来的维护者来说无法读取。
答案 1 :(得分:0)
您可以使用ob_start()
希望这会有所帮助......
<?php
$a = 0;
ob_start();
echo $a;
$string = ob_get_contents();
ob_end_clean();
if (10 > 11) {
$a = 5;
echo $a;
} else {
echo $string;
}