我有一个像这样的简单代码
<?php
echo $passer;
for($i=1; $i<=5; $i++){
$msg = $i;
}
$passer = $msg;
?>
我的目标是在循环上方显示结果。有没有办法传递$ msg的值,所以它会显示在循环上方?目前的输出是:
未定义的变量:传球手
答案 0 :(得分:3)
首先,您收到错误Undefined variable: passer
。因为你没有定义使用变量。所以在使用之前定义变量:
$passer = 0; //defining variable
echo $passer;// you are getting error here
for($i=1; $i<=5; $i++){
$msg = $i;
}
$passer = $msg;
上面的代码不会像您期望的那样为您提供输出。因为在初始化之前你是echoing
$ passer。尝试这样的事情:
for($i=1; $i<=5; $i++){
$msg = $i;
}
$passer = $msg;//initializing first
echo $passer;//output 5
在处理echoing
循环后,我仍然在上面的解决方案中$passer
for
。
因为解析器遵循从上到下的方法,所以它不可能输出 上面的循环。
答案 1 :(得分:0)
"EndDate"
答案 2 :(得分:0)
在定义之前,没有一种语言可以输出值。
但你可以这样想得到你的结果。
<?php ob_start() ?>
##passer##
<?php
for($i=1; $i<=5; $i++){
$msg = $i;
} ?>
<?php echo str_replace("##passer##", $msg, ob_get_clean()) ?>