php全局变量

使用关键字global进行全局变量标识;注意:不能在用global声明变量的同时给变量赋值。像global $name = "Tom"的使用方式是错误的。

<?php global $name; $name = "Tom"; function changeName(){ $name = "John"; } changeName(); echo "my name is " . $name . "<br/>";?>

 

定义全局变量后执行的结果仍然为my name is Tom,这个结果出乎意料。原来,global的正确用法是:"在一个函数中引入外部的一个变量,如果该变量没有通过参数传递进来,那么就通过global引入进来。" 也就是说,当一个函数引用一个外部变量时,可以在函数内通过global来声明该变量,这样该变量就可以在函数中使用了(相当于当作参数传递进来)。那么,再次修改代码:

<?php $name = "Tom"; function changeName(){ global $name; $name = "John"; } changeName(); echo "my name is " . $name . "<br/>";?>

 

这次的运行结果是:my name is John,说明global是起传递参数的作用,而并非使变量的作用域为全局

相关文章