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这个变量两者都不是同一个变量,因此也不会产生实质性的效果

推荐阅读更多精彩内容

  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 5,912评论 1 16
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    枫叶appiosg阅读 2,832评论 0 13
  • 上午歇班,在家看娃! 爷爷奶奶吃过早饭就去了教堂,嘱咐我看好孩子,别让他早睡,等着吃了午饭再睡。我前一点...
    明溪阅读 27评论 0 1
  • 很多人说目前微信公众号的红利期已过,各大新媒体运营人员也发觉无论是打开率、阅读量还是涨粉速度这几大指标的提升难度都...
    today33阅读 157评论 0 4
  • 作为一名到今天还对武打影视着迷的人,从小到大看了太多意外地得到秘籍或是贵人相助一下子脱胎换骨然后浑身金光闪闪地在众...
    小小二萌阅读 36评论 1 3