php函数的变量和作用域
发布网友
发布时间:2022-04-06 06:47
我来回答
共4个回答
懂视网
时间:2022-04-06 11:08
变量在定义后,默认情况下,可以在函数中使用,在函数外不可以。
(推荐学习:php教程)
变量只有在其作用范围内才可以被使用,这个作用范围称为变量的作用域
在函数中定义的变量称为局部变量
在函数外定义的变量称为全局变量
代码示例:
function test (){
$sum = 36; //局部变量
return $sum;
}
$sum = 0; //全局变量
echo text(); //输出结果:36
echo $sum; //输出结构:0
那么如何在函数中使用全局变量呢?
参数传递,global关键字和超全局变量$GLOBALS。
代码示例:
$snap = 'nihao';
function abc(){
global $snap;//全局变量的关键词,通常加在变量前。引用全局变量
return $GLOBALS['snap'];//引用外部变量。定义全局变量
}
echo abc();
热心网友
时间:2022-04-06 08:16
<?php
$global_a="global"; //这是一个全局变量。
function private_test(){
$private_a="private"; //这是一个局部变量,其有效范围就是这个函数内部。
echo $private_a;
}
echo $private_a; //函数外部就不能再调用其局部变量了。
热心网友
时间:2022-04-06 09:34
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']);
}
热心网友
时间:2022-04-06 11:09
<?php
$global_a="global";
//这是一个全局变量。
function
private_test(){
$private_a="private";
//这是一个局部变量,其有效范围就是这个函数内部。
echo
$private_a;
}
echo
$private_a;
//函数外部就不能再调用其局部变量了。