700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php $GLOBALS超全局变量分析

php $GLOBALS超全局变量分析

时间:2020-08-06 18:48:46

相关推荐

php $GLOBALS超全局变量分析

php教程|php手册

var,GLOBALS,global,test,php

php教程-php手册

php中有一个不为很多人所用的超全局变量$GLOBALS。合理使用这个变量能使工作变得更加有效率,本篇文章主要分析一下这个超全局变量的用法以及$GLOBALS和global的区别。

最后一战 源码下载,vscode 绑定快捷键,ubuntu 输入乘号,mac下部署tomcat,家居常见爬虫,php 去掉转义符,徐州seo优化推广哪家好,css网站布局实录 源码,健康门户模板lzw

$GLOBALS定义:引用全局作用域中可用的全部变量(一个包含了全部变量的全局组合数组。变量的名字就是数组的键),与所有其他超全局变量不同,$GLOBALS在PHP代码中任何地方总是可用的,自己可以通过打印$GLOBALS这个变量的结果就知道了。

许愿网站源码,vscode怎么去重,ubuntu 按键重启,tomcat创建jsp项目,政策爬虫,php定义编码,seo综合查询工具盘点,茶叶网站asp模板,织梦财税公司模板lzw

在PHP生命周期中,定义在函数体外部的所谓全局变量,函数内部是不能直接获得的。如果要在函数体内访问外部定义的全局变量,可以通过global声明或者直接使用$GLOBALS来进行访问,例如:

网页游戏登入器源码,ubuntu改时间命令,tomcat连接申请不释放,爬虫液体有毒,php环境设置麻烦,速卖通seo转化率是什么意思lzw

<?php$var1=\;$var2=\;test();function test(){ $var1= aobao; echo $var1,

;global $var1;echo $var1,

; echo $GLOBALS[var2];}

结果将打印为:

taobao

下面主要说明一下global和$GLOBALS的区别:

$GLOBALS[‘var’]是外部的全局变量本身,而global $var是外部$var的同名引用或者指针,也就是说global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量,而$GLOBALS[]确确实实调用的是外部的变量,函数内外会始终保持一致。下面通过例子说明一下:

$var1=1;$var2=2;function test(){$GLOBALS[var2]=&$GLOBALS[var1];} test();echo $var2;

打印结果为1

$var1=1;$var2=2;function test(){global $var1,$var2;$var2=&$var1;} test();echo $var2;

打印结果为2。为什么会打印结果为2呢?其实就是因为$var1的引用指向了$var2的引用地址。导致实质的值没有改变。我们再来看一个例子吧。

$var1=1;function test(){unset($GLOBALS[var1]);} test();echo $var1;

因为$var1被删除了,所以什么东西都没有打印。

$var1=1;function test(){global $var1;unset($var1);} test();echo $var1;

打印结果为1。证明删除的只是别名引用,起本身的值没有受到任何的改变。也就是说global $var其实就是$var=&$GLOBALS[‘var’]。调用外部变量的一个别名而已。

您可能感兴趣的文章

smarty模板中使用php函数以及smarty模板中如何对一个变量使用多个函数PHP常用的判断变量的函数PHP 利用 Curl Functions 实现多线程抓取网页和下载文件Thinkphp 模板中常用的系统变量总结php中在变量和函数前加static关键字之后的区别php的内置变量 DIRECTORY_SEPARATOR 解析PHP将网址快捷方式保存到桌面PHP检查浏览器参数防止被SQL注入的函数

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。