将PHP变量放在标签内

时间:2014-02-05 11:03:09

标签: javascript php

我有一个问题一直困扰着我,因为我无法找到答案。

说我运行这个:

<label><?php echo $c; ?></label>

<?php
$a = 100;
$b = 50;
$c = $a + $b;
?>

它会说它不会知道$ c,因为它稍后会在脚本中声明,是否有一种方法可以使用PHP在标签内设置变量。我知道php的方式非常有限,因为它只是onload。但我一直想知道如果没有将标签置于php脚本下,是否有办法解决这个问题。

我也开放javascript方式。只要我可以在标签内设置php变量。

提前致谢!

编辑:这不是我不知道如何正确地做到这一点。 $ echo之前。但我只是想知道是否有办法以其他方式做到这一点......

9 个答案:

答案 0 :(得分:2)

创建变量后需要使用变量!

    <?php
    $a = 100;
    $b = 50;
    $c = $a + $b;
    ?>

    <label><?php echo $c; ?></label>

答案 1 :(得分:0)

如果您对javascript持开放态度,可以这样做:

首先,给标签id

<label id="label">...</label>

然后在php中添加:

echo '<script>document.getElementById("label").innerHTML = "'.$c.'";</script>';

答案 2 :(得分:0)

is there a way that i can set a variable inside a label using PHP

是的,试试:

<label>
<?php 
$a = 100;
$b = 50;
$c = $a + $b; 
echo $c; 
?>
</label>

答案 3 :(得分:0)

在PHP编程中,它自上而下执行。变量必须有一个值才能回显它:

<label><?php echo $c; ?></label>

<?php
$a = 100;
$b = 50;
$c = $a + $b;
?>

以上是不正确的,因为变量$ c还没有值。您需要首先执行标签之前的PHP代码,如下所示:

?&GT;

上面的$ c现在包含$ a和$ b的总和。

答案 4 :(得分:0)

试试这个: -

<label><?php label(); ?></label>

<?php
function label()
{
 $a = 100;
 $b = 50;
 $c = $a + $b;
 echo $c;
}
?>

答案 5 :(得分:0)

如果你真的想在输出之前有变量,你可以使用一个类::::

<?php
class some{
    public function __construct(){

    }

    public function really(){
        $a = 100;
        $b = 50;
        $c = $a + $b;
        return $c;
    }
}
?>
<?php $some = new some();?>
<label>This is C = <?php echo $some->really(); ?></label>

答案 6 :(得分:0)

好的评论是关于你的线的顺序,但我想你必须这样做...所以.. 1 - 给标签ID:

<label id="label4c"></label>

2 - 请确保此页面上有jquery ..

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

3 - 在$c = $a + $b;

之后添加此内容
echo "<script>jQuery(document).ready(function () { 
jQuery('#label4c').text('$c');
});</script>";

答案 7 :(得分:0)

我看不出你为什么需要这样做的真正原因,但这是一个刺激性的练习。正如许多其他人已经告诉过你的那样,你不能用简单的PHP来做到这一点,因为脚本是自上而下执行的,你试图在赋值之前打印变量。

你问了javascript解决方案,这里有一个在dom完全加载后显示正确值的解决方案:

<label><script>
document.onreadystatechange = function () {
  if (document.readyState == "complete") {
    document.write(c);
   }
}
</script></label>

<?php
$a = 100;
$b = 50;
$c = $a + $b;
?>
<script>var c = <?php echo $c;?>;</script>

代码非常幼稚,我不建议在真实环境中使用它(也不能在任何设备中使用它),因为它写得不好也不易维护。我宁愿告诉你考虑你的流程并理解你是否真的需要做你认为你需要的事情(在分配之前写一个变量)。我绝对相信有一种方法可以重新设计你的脚本以编写更好的代码:你可能过于复杂的简单。祝你好运!

答案 8 :(得分:0)

只需通过脚本

尝试此操作
<label id="p1"></label>

<?php
$a = 100;
$b = 50;
$c = $a + $b;
?>

<script>
document.getElementById("p1").innerHTML="<?php echo $c; ?>";
</script>