浅析php中常量,变量的作用域和生存周期

2015-01-24信息快讯网

以下是对php中常量,变量的作用域和生存周期进行了详细的分析介绍,需要的朋友可以过来参考下

在PHP脚本中变量主要有:内置超级全局变量,一般的变量,常量,全局变量,静态变量等等,我们在使用它们的时候除了要正确地知道它们的语法以外,更重要的是,我们要知道它们在本质上的区别与联系―即它们的作用域的问题。

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

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

3.在一个脚本中声明的全局变量在整个脚本中是可见的,但不是在函数内部,在函数内部的变量如果与全局变量名称相同,以函数内部的变量为准。

4.函数内部使用的变量声明为全局变量时,其名称要与全局变量的名称一致,在这样的情况下,我们就可以在函数中使用函数外部的全局变量了,这样就可以避免上一种因为函数内部的变量与外部的全局变量名称相同而覆盖了外部变量这样的情况。

5.在函数内部创建并声明为静态的变量无法在函数外部可见,但是可以在函数的多次执行过程中保持该值,最常见的情况就是在函数的递归执行的过程之中。

6.在函数内部创建的变量对函数来说是本地的,而当函数终止时,该变量也就不存在了。

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

我们要注意的是:变量和常量另一个重要的差异是:常量只可以定义boolean(布尔型),integer(整型),float(浮点型) 和 string(字符串型)数据,但不能定义 resource类型的数据。

PHP按行读取文件时删除换行符的3种方法
Linux中用PHP判断程序运行状态的2个方法
PHP CURL获取返回值的方法
PHP判断远程图片是否存在的几种方法
一个PHP的ZIP压缩类分享
smarty模板中使用get、post、request、cookies、session变量的方法
php使用json_encode对变量json编码
php中的静态变量的基本用法
PHP的变量类型和作用域详解
PHP static局部静态变量和全局静态变量总结
PHP中session变量的销毁
PHP变量的定义、可变变量、变量引用、销毁方法
PHP输出当前进程所有变量/常量/模块/函数/类的示例
php5.5中类级别的常量使用介绍
PHP Session 变量的使用方法详解与实例代码
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
浅析linux下apache服务器的配置和管理
php 删除目录下N分钟前创建的所有文件的实现代码
php中如何判断一个网页请求是ajax请求还是普通请求
php一些错误处理的方法与技巧总结
php对csv文件的读取,写入,输出下载操作详解
php var_export与var_dump 输出的不同
浅析PHP原理之变量(Variables inside PHP)
浅析PHP原理之变量分离/引用(Variables Separation)
浅析php变量作用域的一些问题
PHP与javascript实现变量交互的示例代码
服务器变量 $_SERVER 的深入解析
解析在PHP中使用全局变量的几种方法
解析php dirname()与__FILE__常量的应用
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
基于PHP5魔术常量与魔术方法的详解
定义php常量的详解
php类常量的使用详解
php魔术方法与魔术变量、内置方法与内置变量的深入分析
PHP不用第三变量交换2个变量的值的解决方法
©2014-2024 dbsqp.com