在php函数中包含Gloobal变量

在php函数中包含Gloobal变量,php,function,global-variables,Php,Function,Global Variables,我试图在php的函数中包含globals变量,但有些东西不起作用 尝试但不起作用: $row = fetch_row("SELECT id,name FROM $GLOBALS['var'] where id = $id"); or $row = fetch_row("SELECT id,name FROM `$GLOBALS['var']` where id = $id"); or $row = fetch_row("SELECT id,name FROM '$GLOBALS['var']'

我试图在php的函数中包含globals变量,但有些东西不起作用

尝试但不起作用:

$row = fetch_row("SELECT id,name FROM $GLOBALS['var'] where id = $id");
or
$row = fetch_row("SELECT id,name FROM `$GLOBALS['var']` where id = $id");
or
$row = fetch_row("SELECT id,name FROM '$GLOBALS['var']' where id = $id");
or
$row = fetch_row("SELECT id,name FROM $GLOBALS[\"var\"] where id = $id");
但是,当您使用
时,可以在字符串中包含变量,因为您试图访问数组值,这将引发错误

在这种情况下,您可以连接字符串或将变量包装在
{}

因此:

"SELECT id,name FROM " . $GLOBALS['var']. " where id = $id"

此外,此时您实际上并不在函数内部,您只是将该字符串传递给它


希望这有帮助

它将不起作用,您必须声明要访问哪个全局变量 使用
global
关键字。和字符串格式的变量写入

global $var;
声明后,可以使用以下查询:

fetch_row("SELECT id,name FROM  {$GLOBALS['var']} where id = $id");

对于变量范围,您可以看到这一点。

正如文档中所述,脚本中的变量不会与其函数共享

您需要使用
global
关键字手动包含它们,然后是需要在函数内部处理的变量。我将复制/粘贴同一页文档的示例,因为它完全清楚发生了什么:

<?php
    $a = 1;
    $b = 2;

    function Sum()
    {
        global $a, $b;

        $b = $a + $b;
    } 

    Sum();
    echo $b;
?>

函数使用了在函数外部设置的
$a
$b
的值。如果您没有使用行
global$a,$b,它会抛出一个错误,说找不到这些变量。

$GLOBALS['var']
很好。您在问题中没有将变量声明为全局变量,因此我给出了声明的理由。是的,变量的字符串格式有效。
$GLOBALS['var']
非常好。
<?php
    $a = 1;
    $b = 2;

    function Sum()
    {
        global $a, $b;

        $b = $a + $b;
    } 

    Sum();
    echo $b;
?>
3