php $globals的用法,php 中global关键字和$GLOBALS用法
首先我们先看一段代码<?php
$a = 1 ; /* global scope */
function Test ()
{
echo $a ; /* reference to local scope variable */
}
Test ();
?>
这个脚本不会有任何输出,因为 echo 语句引用了一个局部版本的变量 $a ,而且在这个范围内,它并没有被赋值。你可能注意到 PHP 的全局变量和 C 语言有一点点不同,在 C 语言中,全局变量在函数中自动生效,除非被局部变量覆盖。这可能引起一些问题,有些人可能不小心就改变了一个全局变量。php 中全局变量在函数中使用时必须声明为 global。
global 关键字
首先,一个使用 global 的例子,代码如下:<?php
$a = 1 ;
$b = 2 ;
function Sum ()
{
global $a , $b ;
$b = $a + $b ;
}
Sum ();
echo $b ;
?>
以上脚本的输出将是“3”。在函数中声明了全局变量 $a 和 $b 之后,对任一变量的所有引用都会指向其全局版本。对于一个函数能够声明的全局变量的最大个数,PHP 没有限制。
在全局范围内访问变量的第二个办法,是用特殊的 PHP 自定义 $GLOBALS 数组。前面的例子可以写成:
Example #2 使用 $GLOBALS 替代 global,代码如下:<?php
$a = 1 ;
$b = 2 ;
function Sum ()
{
$GLOBALS [ 'b' ] = $GLOBALS [ 'a' ] + $GLOBALS [ 'b' ];
}
Sum ();
echo $b ;
?>
$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。 $GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。以下范例显示了超全局变量的用处:
Example #3 演示超全局变量和作用域的例子<?php
function test_global ()
{
// 大多数的预定义变量并不 "super",它们需要用 'global' 关键字来使它们在函数的本地区域中有效。
global $HTTP_POST_VARS ;
echo $HTTP_POST_VARS [ 'name' ];
// Superglobals 在任何范围内都有效,它们并不需要 'global' 声明。Superglobals 是在 PHP 4.1.0 引入的。
echo $_POST [ 'name' ];
}
?>
php $globals的用法,php 中global关键字和$GLOBALS用法相关推荐
- pythonelse用法_Python中else关键字的常见用法
Python中的else常见用法有三:选择结构.循环结构和异常处理结构. (1)选择结构 这应该是最常见的用法,与关键字if和elif组合来使用,用来说明条件不符合时应执行的代码块. (2)循环结构 ...
- python中global和def_Python中 Global和Nonlocal的用法详解
nonlocal 和 global 也很容易混淆.简单记录下自己的理解. 解释 global 总之一句话,作用域是全局的,就是会修改这个变量对应地址的值. global 语句是一个声明,它适用于整个当 ...
- php static 和 global,php中global static和$GLOBALS使用与区别
本文章来总结介绍关于php中global static和$GLOBALS使用与区别有需要了解他们三区别的朋友可参考参考. 1.global在整个页面起作用. 例1 代码如下 复制代码 global ...
- C语言中的关键字“ volatile”的用法(摘)
C语言中的关键字" volatile"的用法(摘) volatile 这个ANSI C 关键字在经典的C 教程中很少提及,高层编程的人也可能永远都 不会用到,但是作为嵌入式开发者来 ...
- python中readlines函数用法,python中read() readline()以及readlines()用法
我们谈到"文本处理"时,我们通常是指处理的内容.Python 将文本文件的内容读入可以操作的字符串变量非常容易.文件对象提供了三个"读"方法: .read(). ...
- 、简述global关键字的作用_在C#编程中global关键字的作用及其用法
在C#编程中,global 是 C# 2.0 中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它.今天就为大家展示下global关键字的作用及其用法,希望对大家学习C#编程有所帮助. 假设 ...
- 高级语言中的关键字:const用法分析
const是constant的缩写,本意是"不变的.不易改变的",它属于c.c++.Java等高级语言中的关键字,通常用来修饰变量对象.函数参数.c或c++指针对象使用. cons ...
- java中if语句的用法_Java中的if判断语句用法介绍
在实际生活中经常需要做出一些判断,比如开车来到一个十字路口,这时需要对红绿灯进行判断,如果前面是红灯,就停车等候,如果是绿灯,就通行.Java中有一种特殊的语句叫做选择语句,它也需要对一些条件做出判断 ...
- python中tile的用法_python3中numpy函数tile的用法详解
tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复某个数组.比如tile(A,n),功能是将数组A重复n次,构成一个新的数组,我们还是使用具体的例子来说明问题 ...
最新文章
- Spring MVC环境中的文件上传功能实现
- 爬虫五 Beautifulsoup模块详细
- 以太坊智能合约 Hexagon 存在溢出漏洞
- 吴恩达深度学习笔记4-Course1-Week4【深层神经网络】
- TCL座机日期时间调整
- 教你一招轻松入门python,不收藏等于错失了一个亿!
- 计算机组成原理补充实验,计算机组成原理实验补充实验指导-实.doc
- requests-处理不信任的ssl证书
- 【python】循环结构if、for 、while
- 课程作业01——从命令行接收多个数字,求和之后输出结果
- lua笔记1 基础概念
- gmssl编译linux,linux 编译安装GmSSL记录
- 超详解代理服务器的使用方法
- sql中常见sqlcode原因分析
- IT行业都有哪些职位,初学者(0基础,新人)该如何选择,才能够快速进入这个行业?...
- 2019年最新Java学习路线图
- php-fpm master 关系,php-fpm master worker 关系介绍
- android 停止服务方法,Android编程实现开始及停止service的方法
- 缘分,有时就在一刹那
- vue3项目实现防抖/截流