折叠 编辑本段 英文
Global variables
例如:
从上例可以看出a、b、x、y 都是在函数外部定义的外部变量,都是全局变量。但来自x,y 定义在函数f1括之后,而在f1内又无对x哪,y的说明,所以它们在f1内无效。 a,b定义在源程序最前面,因此在f1,360百科f2及main内不加说明也可使用。
全局变量是使用相同的内存块在整个类中存储一个值.
全局变量extern与static
extern在其他源程序中也可以使用;static只能在本程序中使用。
折叠 编辑本段 使用注意
全局变量的存在主要有以下一些原因:
1,使用全局变量会占用更多的内静派袁弦未调音大它镇夜存(因为其生命期长),不过在计算机配置很高的今天危讲胶景编击,这个不应该算什么问题,垂反伯石风液娘的这包除非使用的是巨大对象的全局变量,能避免就一定要皇工苏货住马民湖红避免。
2,使用全局变量程序运行时速度更快一些(因为内存不需要再分配),同样也快不了多少。
3,对于局部变量的名字空间污染,这个在不使用太多变量时是可以避免的。
4,当全局变量与局部变量重名的时候,起作用的是局部变量,全局变量被屏蔽掉。
5,还可以用extern在函数外对全局变量声明,使全局变量的作用域从声明处到文件的结束。
6,全局变量的优先度举般低于局部变量。
总之,全局变量可以使用,但是全局变量使用时应注意的是尽可能使其名字易于理解,而且不能太短,避免名字空间的云信角针污染;避免使用巨大对象的全局变量。
如下例所示声明全怎石冷局变量:
Global y As String
折叠 编辑本段 使用
折叠 编辑本段 超级全局变量
PHP中预定义了几个"超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可速触免练溶用。 你不需要特别说明,就可以在函数及类中使用。
PHP 超级全局变量列表:
- $GLOBALS
- $_SERVE本适探概举大龙R
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
变量 | 描述 |
---|---|
$GLOBAL | $GLOBAL 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。 $GLOBAL 是一个包含了全部变量的端办节月显各全局组合数组。变量的名字就是数模题物条成振研组的键。 |
$_SERVER | $_SERVER 是一个包含了诸如头信息(heade而r)、路径(path)品思、以及脚本位置(script locations)等等信息的数组。这个数组铁州践任她航结级语中的项目由 Web 服务器创养美分建。不能保证每个服务器都提供全部项目;服务器复今达服纪德圆奏呢例或可能会忽略一些,或者提供一些没有在这里列举出来的项目。 |
$_REQUEST | PHP $_REQUEST 用于收集HTML表单提交扩难才的数据。 |
$_PO永商系建步防所张跑套ST | PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指校定该属性:"method="post"。 |
$_GET | PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。 |