php变量的作用域和生存期

要修改一个php的系统,才发现php变量的作用域和生存期是很不同的,特此记录已被查阅:

PHP脚本中变量主要有:内置超级全局变量,一般的变量,常量,全局变量,静态变量等等;

1.内置超级全局变量可以在脚本的任何地方使用和可见。即是说,如果我们在一个PHP页面中改变了其中的一个值,那么在其他PHP页面中使用时,它的值也会发生改变。

超级全局变量的完整列表如下:
1.$GOBALS 所有全局变量数组
2.$_SERVER 服务器环境变量数组
3.$_POST 通过POST方法传递给该脚本的变量数组
4.$_GET 通过GET方法传递给该脚本的变量数组
5.$_COOKIE cookie变量数组
6.$_FILES 与文件上传相关的变量数组
7.$ENV 环境变量数组
8.$_REQUEST 所有用户输入的变量数组包括$_GET $_POST $_COOKIE 所包含的输入内容
9.$_SESSION 会话变量数组

2.常量一旦被声明将可以在全局可见,也就是说,它们可以函数内外使用,但是这仅仅限于一个页面之中(包含我们通过include和include_once)包含进来的PHP脚本,但是在其他的页面之中就不能使用了。这里必须记住要引用申明的页面。

时间: 2024-10-05 11:56:04

php变量的作用域和生存期的相关文章

c++变量的作用域、生存期和可见性

局部变量 范围:在一个函数内部定义的变量,作用范围只限于本函数体内. 生存期:程序执行到本函数才会给局部变量分配内存单元,函数执行完毕局部变量所占的存储单元就被释放 全局变量 在函数体外部定义的变量是全局变量,可以被本文件所有其他函数访问使用. 作用域:所有文件.在一个cpp定义的全局变量在另一个cpp中使用,应该在使用它的函数体内部或外部进行extern说明 生存期:全局变量在程序的全部执行过程中占用固定的内存单元,生存周期是整个程序运行期间. 实验代码 /* * 变量的作用域.生存期和可见性

C的日记-变量的作用域、生存期和内存位置

“天地玄黄,宇宙洪荒”,先有天地,之后方有古今.变量同是,先有变量的作用域(存在的地点),然后出现了变量的生存期(存在的时间). [变量存储的方式]首先变量实际上是存放到两个区域的: 静态存储区:是指在程序运行区间由系统分配固定的存储空间的方式. 动态存储区:程序运行期间根据需要动态的分配存储空间. [变量分类] 局部变量:在[函数]内部声明的变量. [作用域]:从定义变量的位置到本函数结束. <1>自动变量(auto变量),即动态局部变量,不专门声明为static的变量.          

C++变量作用域、生存期、存储类别

写C.C++代码的小伙伴一定在头疼变量的作用域.生存期.存储类别问题.什么静态.外部.寄存器.局部.全局搞得一头雾水.今天咱们就来梳理一下他们的变态关系(什么不得了的事情???) 1.变量的作用域 说白了,作用域就是一个"代码块",也就是大括号包裹的那一段东西.包括函数体.控制语句块这些.大家应该都有所耳闻. #include<stdio.h> int x = 5; // 全局变量 int main() { printf("%d ",x); int x

C变量作用域,生存期,链接特性

变量的作用域 C语言中变量的作用域(Scope)有以下几种: 块作用域(block scope) 函数作用域(function scope) 函数原型作用域(function prototype scope) 文件作用域(file scope) 块作用域 定义在{}内的变量以及函数内部(同样包含'{}')的变量通常为块作用域,变量的可见性(visible)从定义处开始,直到块结尾. 函数参数内的变量,虽然在函数'{'前,也处于块作用域内. 函数作用域 函数作用域仅适用于与goto语句一起使用的标

第四章—变量,作用域和内存问题(三)

执行环境和作用域 我们知道,所有 JavaScript 代码都是在一个执行环境中被执行的.执行环境是一个概念,一种机制,用来完成JavaScript运行时在作用域.生存期等方面的处理,它定义了变量或函数是否有权访问其他数据,决定各自行为. 在javascript中,可执行的JavaScript代码分三种类型:        1. Global Code,即全局的.不在任何函数里面的代码,例如:一个js文件.嵌入在HTML页面中的js代码等.        2. Eval Code,即使用eval

8——对象的作用域,生存期,……

对象的作用域.可见域和生存期与普通变量,如int型变量的作用域.可见域和生存期并无不同. 对象同样有局部.全局和类内(稍后就将对对象成员进行介绍)之分,对于在代码块中声明的局部对象,在代码块执行结束退出时,对象会被自动撤销,对应的内存会自动释放 (当然,如果对象的成员函数中使用了new或malloc申请了动态内存,却没有使用delete或free命令释放,对象撤销时,这部分动态内存不会自动释放,造成内存泄露). 跟踪调试,查看同一个类的不同对象的成员变量和成员函数在内存中的地址分配情况.结论:成

JVM中各内存区域解释,以及变量的作用域解释

转载自:http://blog.csdn.net/zz87250976/article/details/42875301 JVM内存分四种:1.栈区(stacksegment)—由编译器自动分配释放,存放函数的参数值,局部变量的值等,具体方法执行结束之后,系统自动释放JVM内存资源:2.堆区(heapsegment)—一般由程序员分配释放,存放由new创建的对象和数组,jvm不定时查看这个对象,如果没有引用指向这个对象就回收:3.静态区(datasegment)—存放全局变量,静态变量和字符串常

C语言入门(十四)变量的作用域和存储类型

变量的作用域和存储类型 一.作用域和生存期 C程序的标识符作用域有三种:局部.全局.文件.标识符的作用域决定了程序中的哪些语句可以使用它,换句话说,就是标识符在程序其他部分的可见性.通常,标识符的作用域都是通过它在程序中的位置隐式说明的. 1.局部作用域 前面各个例子中的变量都是局部作用域,他们都是声明在函数内部,无法被其他函数的代码所访问.函数的形式参数的作用域也是局部的,它们的作用范围仅限于函数内部所用的语句块. void add(int); main() { int num=5; add(

C/C++——C++变量的作用域与生命周期,C语言中变量的作用域和生命周期

全局变量 作用域:全局作用域(全局变量只需在一个源文件中定义,就可以作用于所有的源文件.) 生命周期:程序运行期一直存在 引用方法:其他文件中要使用必须用extern 关键字声明要引用的全局变量. 内存分布:全局数据区 注意:如果在两个文件中都定义了相同名字的全局变量,连接出错:变量重定义 全局静态变量 作用域:文件作用域(只在被定义的文件中可见.) 生命周期:程序运行期一直存在 内存分布:全局数据区 定义方法:static关键字,const 关键字 注意:只要文件不互相包含,在两个不同的文件中