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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值