仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 782|回复: 9
打印 上一主题 下一主题

[学习教程] PHP教程之php $GLOBALS超全局变量剖析

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:11:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?php中有一个不为良多人所用的超全局变量$GLOBALS。公道利用这个变量能使事情变得加倍无效率,本篇文章次要剖析一下这个超全局变量的用法和$GLOBALS和global的区分。
$GLOBALS界说:援用全局感化域中可用的全体变量(一个包括了全体变量的全局组合数组。变量的名字就是数组的键),与一切其他超全局变量分歧,$GLOBALS在PHP代码中任何中央老是可用的,本人能够经由过程打印$GLOBALS这个变量的了局就晓得了。
在PHP性命周期中,界说在函数体内部的所谓全局变量,函数外部是不克不及间接取得的。假如要在函数体内会见内部界说的全局变量,能够经由过程global声明大概间接利用$GLOBALS来举行会见,比方:
  1. <?php$var1=www.Alixixi.com;$var2=www.google.cn;test();functiontest(){$var1=taobao;echo$var1,<br/>;global$var1;echo$var1,<br/>;echo$GLOBALS[var2];}
复制代码
了局将打印为:
taobao
www.Alixixi.com
www.google.cn

上面次要申明一下global和$GLOBALS的区分:
$GLOBALS[var]是内部的全局变量自己,而global$var是内部$var的同名援用大概指针,也就是说global在函数发生一个指向函数内部变量的别号变量,而不是真实的函数内部变量,而$GLOBALS[]确的确实挪用的是内部的变量,函数表里会一直坚持分歧。上面经由过程例子申明一下:
  1. $var1=1;$var2=2;functiontest(){$GLOBALS[var2]=&$GLOBALS[var1];}test();echo$var2;
复制代码
打印了局为1
  1. $var1=1;$var2=2;functiontest(){global$var1,$var2;$var2=&$var1;}test();echo$var2;
复制代码
打印了局为2。为何会打印了局为2呢?实在就是由于$var1的援用指向了$var2的援用地点。招致本色的值没有改动。我们再来看一个例子吧。
  1. $var1=1;functiontest(){unset($GLOBALS[var1]);}test();echo$var1;
复制代码
由于$var1被删除,以是甚么器材都没有打印。
  1. $var1=1;functiontest(){global$var1;unset($var1);}test();echo$var1;
复制代码
打印了局为1。证实删除的只是别号援用,起自己的值没有遭到任何的改动。也就是说global$var实在就是$var=&$GLOBALS[var]。挪用内部变量的一一般名罢了。
您大概感乐趣的文章


  • smarty模板中利用php函数和smarty模板中怎样对一个变量利用多个函数
  • PHP经常使用的判别变量的函数
  • PHP使用CurlFunctions完成多线程抓取网页和下载文件
  • Thinkphp模板中经常使用的体系变量总结
  • php中在变量和函数前加static关头字以后的区分
  • php的内置变量DIRECTORY_SEPARATOR剖析
  • PHP将网址快速体例保留到桌面
  • PHP反省扫瞄器参数避免被SQL注进的函数
培训的第二阶段,开始了PHP语言语法结构和应用的学习。
小妖女 该用户已被删除
沙发
发表于 2015-1-18 22:27:36 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-24 12:30:24 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
灵魂腐蚀 该用户已被删除
地板
 楼主| 发表于 2015-2-1 12:09:42 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
因胸联盟 该用户已被删除
5#
发表于 2015-2-7 05:25:11 | 只看该作者
实践是检验自己会不会的真理。
海妖 该用户已被删除
6#
发表于 2015-2-20 17:59:06 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
深爱那片海 该用户已被删除
7#
发表于 2015-3-6 18:44:21 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
爱飞 该用户已被删除
8#
发表于 2015-3-13 06:09:22 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
不帅 该用户已被删除
9#
发表于 2015-3-13 06:09:22 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
兰色精灵 该用户已被删除
10#
发表于 2015-3-20 14:34:10 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-13 11:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表