class Someclass{
function topFunction()
{
function makeMeGlobal($var)
{
global $a, $b;
$a = "a".$var;
$b = "b".$var;
}
makeMeGlobal(1);
echo "$a <br>";
echo "$b <br>";
makeMeGlobal(2);
echo "$a <br>";
echo "$b <br>";
}
}
我在codeigniter上使用该测试代码,但没有发生。
我想打印一个像这样的结果
a1
b1
a2
b2
如何在类中处理这些函数?
答案 0 :(得分:1)
在函数范围内声明全局变量。
尝试在类范围声明它们:
class Someclass{
function topFunction()
{
function makeMeGlobal($var)
{
global $a, $b;
$this->a = "a".$var;
$this->b = "b".$var;
}
makeMeGlobal(1);
echo $this->a . "<br>";
echo $this->b . " <br>";
makeMeGlobal(2);
echo $this->a . "<br>";
echo $this->b . "<br>";
}
}
答案 1 :(得分:0)
您正在函数内部创建全局变量,尝试在类范围而不是函数中创建它们。应该工作。