[29期] 浅谈global和$GLOBALS,&引用,static变量和常量

作为PHP新手,讲到函数这部分,在这几个定义上有些许模糊的认识,就我所了解的,写下来,供大家交流,有错误之处,望大家回贴指正.
按正常逻辑分类说起:
global与$GLOBALS:global是在函数体(结构体存内存代码段)内寻找函数体外的全局变量, 如果找到有此变量会引入在函数体中使用,未找此变量则会在堆内存中申明此变量,一般global申明的变量不要给初值,申明后再赋值,之后此变量在此脚本执行结束前均有效.$GLOBALS[]是将一个值申明到超全局变量中,供申明后的任何地方使用,性质类似$_POST[];
&引用:变量的值一般都存储在堆内存中,而调用此变量的地址是存储在栈内存中的,通常'&引用'就相当于栈内存中另别名一个地址来指向原来存储在堆内存中的值,这个值改变,访问栈内存中指向这个值的地址所得的值自然都随着改变了.
static 与常量:这二个的值都在静态内存中存储,static在类和函数中使用,在第一次申明时写入静态内存,申明static变量也不需给初值,其值可以在类或函数中改变,而常量的值可以在当前脚本的的任何位置使用,常量赋值后是不可以改变的,申明时必须赋初值.
好了,就知道这么多,语言组织能力有点欠缺,大家轻拍..


你可能感兴趣的:(static)