首页 > 代码库 > 变量在函数内外的作用域 2

变量在函数内外的作用域 2

 

 

function fn() {	echo "inside the function, \$var = ".$var."<br>";	$var = "content 2";	echo "inside the function, \$var = ".$var."<br>";}$var = "content 1";fn();echo "outside  the function, \$var = ".$var."<br>";echo "<br><br>";

输出:

inside the function, $var =inside the function, $var = content 2outside the function, $var = content 1

 函数在被调用之前是不会执行的,所以第一条执行的语句$var = "content",该语句创建了一个名为$var的变量,它具有全局作用域且值为"content 1",下一条执行的语句是调用函数fn(),函数内部的代码按顺序执行,函数第一行引用了一个名为$var的变量,当这行被执行时,就不能看到前面创建的变量$var了,所以它创建了一个具有函数作用域的新变量并将它显示出来,这就是输出的第一行。
函数内的下一行代码将变量$var的内容设为"content 2"。因为是在函数内部,所以这一行改变了局部$var值,而不是那个全局变量,输出的第二行证实了这个改变。

变量在函数内外的作用域 2