今天就跟大家聊聊有关PHP中变量作用域的问题解析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
PHP面试中变量作用域是面试中常常出现的问题,也是必考的问题,下面就给大姐讲解一下在面试中注意的点:
# living example one
$A="Hello ";
functionprint_A()
{
$A = "phpmysql !!";
global $A;
//global 全局变量 函数是独立的模块 $A外界定义的
echo $A;
}
echo $A; //output Hello
print_A(); //out pot Hello
在你将$A定义为全局变量的时候,并未修改$A的值
考点:
局部变量和全局变量的作用域,函数外部变量为全局变量(本页面以及引入页面),函数内部变量为局部变量
易错点:
答题者区分不清局部变量和全局变量的概念,导致不能准确写出函数输出结果
分析:
1)局部变量只能在函数内部产生作用以及被使用,无论外部怎么修改都将失效,这样也就保证了我们在同一个页
面定义相同名称的变量时候不会出现异常
2)全局适用于多个函数以及多个页面都需要用到时可声明,这样也就能节省内存空间,但是应用时重复定义被覆
盖导致异常的问题也要注意
# living example two
function test(){
$num = 10;
echo $num;
}
test(); //output 10
echo $num;
$num = $num+10;
echo $num;
分析:
以上代码会导致一个变量未定义的waring,我们尚且忽略
1)$num是一个局部变量,那么你在函数内部输出,并且调用函数方法时候会输出10,但是无论你在外面怎么操作
$num这个变量两者都不是同一个变量,因此也不会产生实质性的效果
看完上述内容,你们对PHP中变量作用域的问题解析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。