我有一个单独的文件,其中包含具有其设置值的变量。 如何将这些变量设为全局?
实施例。我在$myval
文件中有值values.php
。在index.php
我调用了一个需要$myval
值的函数。
如果我在index.php文件的beggining中添加include(values.php);
,则会丢失函数内的范围。我将在index.php文件中的多个函数中调用相同的变量。
答案 0 :(得分:7)
在函数内部,使用global
关键字或访问the $GLOBALS[]
array中的变量:
function myfunc() {
global $myvar;
}
或者,为了更好的可读性:使用$GLOBALS[]
。这清楚表明您正在访问全球范围内的某些内容。
function myfunc() {
echo $GLOBALS['myvar'];
}
最后,
尽可能避免使用全局变量开始,而是将其作为参数传递给函数:
function myfunc($myvar) {
echo $myvar . " (in a function)";
}
$myvar = "I'm global!";
myfunc($myvar);
// I'm global! (in a function)
答案 1 :(得分:2)
答案 2 :(得分:1)
在函数开头使用global关键字会将这些变量放入范围。例如,
$outside_variable = "foo";
function my_function() {
global $outside_variable;
echo $outside_variable;
}
答案 3 :(得分:1)
你有没有理由不能将变量传递给你的函数?
myFunction($myVariable)
{
//DO SOMETHING
}
传递变量而不是使用全局变量是一个好主意。
答案 4 :(得分:0)
与在同一文件中声明变量相同。
function doSomething($arg1, $arg2) {
global $var1, $var2;
// do stuff here
}