# living example one

$A=\"大众Hello \公众;

functionprint_A()

php变量作用域面试PHP面试常考易错题之变量感化域解析 JavaScript

{

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