php函数的变量和作用域

2024-12-21 18:44:58
推荐回答(3个)
回答1:


$global_a="global"; //这是一个全局变量。

function private_test(){
$private_a="private"; //这是一个局部变量,其有效范围就是这个函数内部。
echo $private_a;
}
echo $private_a; //函数外部就不能再调用其局部变量了。

回答2:

php的全局变量的声明跟其他语言相反,他是在函数内部声明一个全局变量的

$out_a="out_1"; //这是一个在private_test函数外声明的变量。
$out_b="out_2"; //这是一个在private_test函数外声明的变量。

function private_test(){
$private_a="private_a";//这是一个局部变量,在函数外不可访问
$out_a="private"; //这是一个局部变量,其有效范围就是这个函数内部,跟上面那个没关系
global $out_b; //声明$out_b为全局变量,就是上面那个$out_b="out_2"

global $global_c; //声明$global_c为全局变量,本函数执行后,在函数外也可以访问
$global_c="global_c"; //注意,声明全局变量的同时不能赋值,
//不能写成 global $global_c="global_c";
// 也不能写成 $global_c="global_c"; global $global_c;
//这样 $global_c 的值会是NULL ,需要重新赋值;

}

//简单地说,如果不在函数内使用global声明变量为全局变量,则函数内的声明的变量只能在函数内部使用,在函数外声明的变量也只能在函数外使用

另外一种使用函数外声明变量的方法,需要使用$GLOBALS数组
$a='a';
function f()
{
echo($GLOBALS['a']);
}

回答3:

$global_a="global";
//这是一个全局变量。
function
private_test(){
$private_a="private";
//这是一个局部变量,其有效范围就是这个函数内部。
echo
$private_a;
}
echo
$private_a;
//函数外部就不能再调用其局部变量了。