导航:首页 > 编程语言 > php自定义全局变量

php自定义全局变量

发布时间:2024-12-03 05:59:48

php中全局变量global和$GLOBALS的区别分析

1、global
Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。
但是在函数体内定义的global变量,函数体内可以使用,在函数体外定义的global变量不能在函数体内使用
2、$GLOBALS
在 $GLOBALS 数组中,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为
$GLOBALS 是一个超全局变量。注意$GLOBALS 的写法,比如变量$a1,写法为$GLOBALS['a1']。
总结:

1.$GLOBALS['var']是外部的全局变量本身
2.global $var是外部$var的同名引用或者指针

❷ 全局变量的PHP 超级全局变量

PHP中预定义了几个"超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。
PHP 超级全局变量列表: $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION 变量描述$GLOBAL$GLOBAL 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。
$GLOBAL 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。 $_SERVER$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。$_REQUESTPHP $_REQUEST 用于收集HTML表单提交的数据。$_POSTPHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。$_GETPHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。

❸ php 定义变量

<?php//常量声明!defined("PI") or define("PI", 3.14);//变量声明$var = value; //value可以为值类型、引用类型、NULL、布尔类型、资源类型?>

❹ php全局变量和php预定义变量

仅供参考,更多,可以查看http://www.phpsu.com/

预定义变量

PHP 提供了大量的预定义变量。由于许多变量依赖于运行的服务器的版本和设置,及其它因素,所以并没有详细的说明文档。一些预定义变量在 PHP 以命令行形式运行时并不生效。有关这些变量的详细列表,请参阅预定义变量一章。
Warning

PHP 4.2.0 以及后续版本中,PHP 指令 register_globals 的默认值为 off。这是 PHP 的一个主要变化。让 register_globals 的值为 off 将影响到预定义变量集在全局范围内的有效性。例如,为了得到 DOCUMENT_ROOT 的值,将必须使用 $_SERVER['DOCUMENT_ROOT'] 代替 $DOCUMENT_ROOT,又如,使用 $_GET['id'] 来代替 $id 从 URL http://www.example.com/test.php?id=3 中获取 id 值,亦或使用 $_ENV['HOME'] 来代替 $HOME 获取环境变量 HOME 的值。

更多相关信息,请阅读 register_globals 的配置项条目,安全一章中的使用 Register Globals,以及 PHP » 4.1.0 和 » 4.2.0 的发行通告。

如果有可用的 PHP 预定义变量那最好用,如超全局变量。

从 PHP 4.1.0 开始,PHP 提供了一套附加的预定数组,这些数组变量包含了来自 web 服务器(如果可用),运行环境,和用户输入的数据。这些数组非常特别,它们在全局范围内自动生效,例如,在任何范围内自动生效。因此通常被称为自动全局变量(autoglobals)或者超全局变量(superglobals)。(PHP 中没有用户自定义超全局变量的机制。)超全局变量罗列于下文中;但是为了得到它们的内容和关于 PHP 预定义变量的进一步的讨论以及它们的本质,请参阅预定义变量。而且,你也将注意到旧的预定义数组($HTTP_*_VARS)仍旧存在。自 PHP 5.0.0 起,长格式的 PHP 预定义变量可以通过设置 register_long_arrays 来屏蔽。

Note: 可变变量 超级全局变量不能被用作可变变量。

Note: 尽管超全局变量和 HTTP_*_VARS 同时存在。但是他们并不是同一个变量,所以改变一个的值并不会对另一个产生影响。

如果某些 variables_order 中的变量没有设定,它们的对应的 PHP 预定义数组也是空的。

PHP 超全局变量
$GLOBALS
包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键名为全局变量的名称。从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER
变量由 web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。
$_GET
经由 URL 请求提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。
$_POST
经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。
$_COOKIE
经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。
$_FILES
经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。
$_ENV
执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。
$_REQUEST
经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。此数组在 PHP 4.1.0 之前没有直接对应的版本。参见 import_request_variables()。
Caution

自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。

Note: 当运行于命令行模式时,此数组将不会包含 argv 和 argc 条目;它们已经存在于数组 $_SERVER 中。

$_SESSION
当前注册给脚本会话的变量。类似于旧数组 $HTTP_SESSION_VARS 数组(依然有效,但反对使用)。

阅读全文

与php自定义全局变量相关的资料

热点内容
电视dns服务器地址怎么设置 浏览:440
linuxphp升级56 浏览:614
javawait的底层源码 浏览:808
中层抱团违抗命令怎么办 浏览:888
directx113d游戏编程 浏览:48
任天堂zip解压 浏览:494
苹果蓝牙单片机 浏览:17
bitbake命令 浏览:482
武汉美女急寻程序员失踪 浏览:584
软件设计师程序员考试 浏览:150
py编译器怎么运行 浏览:575
机械设计第五版pdf 浏览:623
1tlinux 浏览:924
贵州省应急管理app怎么下载 浏览:121
程序员的代码有什么用 浏览:868
程序员调休是什么 浏览:28
热力图java 浏览:613
汽车空调压缩机上是什么传感器 浏览:797
编译c语言的基本流程是什么 浏览:1001
linux文件命令大全 浏览:470