我有一堆HTML和PHP代码,在模板文件中它运行正常,但我正在尝试将它放在PHP函数中,现在当我运行页面时,我收到错误Undefined variable: variableName
以下是一些代码:
function testFunction()
{
foreach ($variableName as $variable):
echo 'tasf';
endforeach;
}
在该函数$variableName
内部找不到但如果我将它移到函数外部就可以找到它。如果重要的话,我在symfony php模板文件中这样做。
答案 0 :(得分:3)
变量范围的简单问题。如果在函数外部定义了该变量,则需要将其传递给那里或将其声明为全局
答案 1 :(得分:3)
$str = 'Hello World';
echo $str; // works fine
function foo($bar){
echo $bar; // passed as function argument. works fine
}
foo($str);
function bar(){
global $str;
echo $str; // passed from global. works fine
}
答案 2 :(得分:1)
函数作用域意味着在函数内引用的变量必须在其中声明或传递...
function testFunction($variableName)
{
foreach ($variableName as $variable):
echo 'tasf';
endforeach;
}
这是a link to the PHP manual on Variable Scope。
在任何情况下都不应该使用global
个变量。总有一种更好的方法,这样做被认为是不好的做法。它使您的代码难以理解,因为这意味着其他人可能必须阅读所有以了解正在发生的事情。
答案 3 :(得分:0)
您需要使用global
关键字来实现此目标。
global
应该谨慎使用,并且可能会产生意想不到的副作用。