PHP:读取底部顶部的变量

时间:2009-12-07 10:27:15

标签: php variables scope

有没有办法在顶部读取一个变量,在底部定义一些变量。 以下是这种情况的一个例子:

<!--this image is somewhere on top of the page-->
<img src="/<?php print logoPath(); ?>" border="0" />

// this code is somewhere on bottom of the page
$logo_query = "select logo_path from table where id = $row->user_id";
$res_logo = mysql_query($logo_query) or die(mysql_error());
$row_logo = mysql_fetch_object($res_logo);
$logo_path = $row_logo->logo_path;

function logoPath()
{
    global $logo_path;
    return $logo_path;
}

我尝试使用该函数返回值,但即使这样也不起作用。

任何解决方案?

由于

3 个答案:

答案 0 :(得分:4)

不,在PHP中,所有指令都是按顺序执行的,因此您无法读取尚未定义的变量。您必须将设置$logo_path值的代码移到您调用logoPath()函数的位置上方。

或者你可以将sql代码放在logoPath()函数中,这样你就可以使用函数返回你调用函数的地方下面的徽标路径。

答案 1 :(得分:1)

不,但有一种方法可以使用jquery:

<img id="image" src="" border="0" />

// this code is somewhere on bottom of the page
$logo_query = "select logo_path from table where id = $row->user_id";
$res_logo = mysql_query($logo_query) or die(mysql_error());
$row_logo = mysql_fetch_object($res_logo);
$logo_path = $row_logo->logo_path;

function logoPath()
{
        global $logo_path;
        echo "<script type='text/javascript'> $('#image').src('".$logo_path."');</script>";
}

这有点愚蠢,但应该有用。

答案 2 :(得分:-1)

您可以使用Div标记并将位置放在页面顶部。这样代码就可以在按钮上执行,但结果会显示在顶部。