在php函数中包含Gloobal变量
我试图在php的函数中包含globals变量,但有些东西不起作用 尝试但不起作用:在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']'
$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