<?php
$var = "content1";
function fn()
{
echo "inside the function, \$var = " . $var . "<br/>";
$var = "content2";
echo "inside the function, \$var = " . $var . "<br/>";
}
fn();
echo $var;
?>
这边有个疑问, 上面最开始一行 定义了 $var
那在函数的第一句 echo
中 为什么无法输出$var="content1"
的结果?
还有一个问题
<?php
$var = "content1";
function fn()
{
$var ="helloWorld";
global $var;
echo "inside the function, \$var = " . $var . "<br/>";
}
fn();
echo $var;
?>
这边我开始定义了一个全局变量 $var
,然后在函数内部定义了一个 $var
,当使用global 函数的时候 ,为什么函数内部的echo
输出的是 开始第一次定义的$var = "content1";
,而不是$var ="helloWorld";
?
首先global不是函数而是关键字
php的全局函数,只有用global关键字声明后,在函数内部才能访问。
用global声明全局变量,如果存在同名的局部变量,局部变量会被覆盖掉