函数中全局变量的问题
Jun 23, 2016 pm 02:00 PM 不用函数的时候,代码如下:
1 |
|
执行结果为:
[0,1,2,3,4]
我想把这个功能放到函数里,代码如下:
1 |
|
可是结果变成了这样:
[]
到底是怎么回事?请指教,谢谢。
回复讨论(解决方案)
在函数中直接使用变量并不会使其自动具有全局的作用范围,相反,你需要显式的声明Global。
如下:
$lists = array();
function testarray()
{
global $lists;
for( $i = 0; $i < 5 ; $i++ )
{
$lists[] = $i;
}
}
testarray();
echo json_encode($lists);
也可以通过传递参数的方法,可以避免使用全局变量造成迷惑。
用global是可以调用全局的变量,但不建议这样。
以传递参数方式实现会较好。
1 |
|

热门文章

热门文章

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)