【发布时间】:2013-02-21 09:51:35
【问题描述】:
我无法在另一个函数中读取一个函数中定义的变量。 我有:
global $a;
class test{
function aa($somevar){
switch ($myvar){
case 'value':
global $a;
$a = 15;
break;
}
}
function bb(){
global $a;
echo $a;
}
}
$foo = new test();
$ccc = $foo->bb();
var_dump($ccc);
我得到转储结果 NULL。 谢谢
【问题讨论】:
-
但是你无处为
$aa赋值。 -
在此代码流中的任何地方都没有为 $a 分配任何值; bb() 不返回任何内容以分配给 $ccc; aa() 打开一个不存在的变量;并且您应该尽可能避免使用 global
-
为什么要使用全局变量而不是类成员?
-
$a 被分配在 switch $a = 15;而这个aa函数只能接受一个参数$somevar,没有别的
-
@user1756097 不,你不会调用 switch 所在的方法