<?php
echo "<h2>变量的作用域</h2>";
//1.全局变量
/*
在函数外定义的变量就叫全局变量,作用域全局
但在函数内使用时要使用global声明一下才可使用
*/
$name="世界";
function fun(){
global $name;//声明是外部变量
echo "函数内:{$name}<br/>";
$name="world";//在此修改 外边的变量也随之修改因为是 同一个变量
}
fun();//调用函数
echo $name;//world
echo "<hr/>";
//2.局部变量 在函数内部定义的变量
/*
特点: 仅在函数内有效,生命周期是在调用函数时产生,结束时销毁 函数外无法获取
*/
function getValue()
{
$i++;
echo $i."<br/>";
}
getValue();//1
getValue();//1
echo "<h3>通过unset($var)可以手动删除变量,变量会在内存中被释放,也就不在全局作用域中了</h3>";
unset($name);
echo "name:".$name."<br/>";//输出:name:
fun();//调用函数 输出 :函数内:
?>
<?php
echo "<h2>静态变量</h2>";
/*
静态变量是在函数内使用static关键字声明的变量
特点: 多次调用此函数,变量始终有效,而且初始化只执行一次
*/
function fun()
{
static $i=0;
$i++;
echo "{$i}<br/>";
}
fun();//1
fun();//2
fun();//3
?>