php global到底是代表直接使用变量还是代表变量的引用?

<?php
$a=0;
function test(){
global $a;
$a = 1;
}
test();
echo $a;//输出1
?>
在网上查了下,感觉都讲得不彻底!或许我理解不到位!
此处说明:函数外环境简称外部环境也就是所谓的全局环境,内部环境也就是局部环境.
php作用域想必都知道,就是全局环境和局部环境彼此独立隔离,互相不能访问各自里的变量.按照之前网上所讲,此处global就代表是全局$a的同名引用,也就是声明一个局部$a
并引用全局$a.
第二:如果此代码没定义全局$a,那么就是声明一个值为1的全局$a.
但是今天看到静态变量,又对global产生疑惑,求大神加精!global到底是代表直接使用
全局变量还是代表全局变量的引用?

0

1个回答

$test=1;
function test(){
global $test;
echo $test;
}
test();
输入1,如果不加global $test;这句 则会提交变量test没有定义

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
请问php中的一些变量代表什么?
$HTTP_GET_VARS=?rn类似如此一些变量,请问哪里有相关文档全面介绍的?rn
this关键字代表指针还是引用
对话框类中,this关键字代表指向该对话框对象的指针还是引用.rnrn我实验了,是指针rnrn那么用什么表示对该对话框自身的引用呢?
HINSTANCE类型的变量代表什么意思?
HINSTANCE类型是用来定y义什么的?HINSTANCE类型的变量代表什么意思?如:HINSTANCE hInstance
这样是否代表一个变量?
var aMapWin = window.opener.parent.FrameMapViewImage;rnFrameMapVIewImage 是 一个内部框架名 opener是什么?rnrnaMapWin.P_USERNAME = .....rnrn我在FrameMapViewImage.htm 中找不到P_USERNAME这个变量,aMapWin.P_USERNAME是否就定义一个变量?
php global变量无效
对于PHP初学者而言,在使用global关键字时,可能会发现,在函数内global一个函数外的变量,在某些情况下却无法正确输出该变量(即global变量无效)。下面我们来看一个简单而常见的例子。 在这里,我们有a.php和b.php两个页面。 b.php页面代码如下: php $site_name = 'CodePlayer'; function sayHi(){     glob
php:global变量解析
 1:Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件$a=123;function aa(){Global $a;  //如果不把$a定义为global变量,函数体内是不能访问$a的echo $a;}aa(); 总结:在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数...
代表到底是什么东西?
代表到底是什么东西?
请问直接使用return代表什么?
很多函数都用return ture/false/具体的信息或变量。还有的是在函数中直接使用return;这个代表什么?刚刚学习PHP,大家指教。谢谢了
变量名到底是变量还是地址?
1.如题,例如 COUNT DB 'ASM'rn 这个COUNT到底是变量还是地址,如果说是变量,可是COUNT+1指的却是S,如果说是地址,可是很多时候要得到COUNT的地址使用的却是LEA指令,而不是MOV指令,对于标号名,和过程名也有同样的困惑rn2.介绍下VC++6.0下如何实现汇编和C语言的混合编程,我主要弄不清楚如何在C语言中调用汇编子程序,麻烦介绍下这方面的文章,我百度和google都没找到合适的,给个链接就好,谢谢了
到底是常量还是变量啊。。。
double rates[5]=88.99,100.12,59.15,13.2,123,1;rnrnrates[0]=99.99 //允许,因为rates不是常量.rnrnchar rates[]="I love you!";rnrnrates++ //不允许,因为数组名rates是个常量。rnrnrn这是c prime 上不同的两处。。。rn小弟真搞不懂了。。rn请各位大大们请教。。。
Extjs 变量前的一个加号代表什么意思?
Extjs 变量前的一个加号代表什么意思?rn比如 +group
怎样得到变量代表的input框的值
比如该input框name为另一个input框aa的值 rninputname = document.form1.aa.valuern那我怎么表示才是该input框的valuern
请问一个下面的各个变量代表什么意思
typedef struct _MEMORYSTATUS // mst rn DWORD dwLength; // sizeof(MEMORYSTATUS) ?rn DWORD dwMemoryLoad; // percent of memory in use ?rn DWORD dwTotalPhys; // bytes of physical memory ?rn DWORD dwAvailPhys; // free physical memory bytes ?rn DWORD dwTotalPageFile; // bytes of paging file ?rn DWORD dwAvailPageFile; // free bytes of paging file? rn DWORD dwTotalVirtual; // user bytes of address space? rn DWORD dwAvailVirtual; // free user bytes ?rnrn MEMORYSTATUS, *LPMEMORYSTATUS; rn
php函数变量引用
<?php $ceshi=1; class ceshi1 { public function ceshi1 (){ global $ceshi; echo $ceshi; } } class ceshi2{ private $ceshi2; public
PHP变量引用的疑惑
本以为自己对变量的引用和赋值已经很清楚,结果遇到了下面这个问题,彻底颠覆了我的理解rnrn[code=php]rn[/code]rn结果$s输出后还是Wangchuanbo,不是同一块内存地址吗,原变量都被卸载了,引用变量还有值??rn
PHP学习笔记—— PHP变量引用;
  在C语言里是可以吧地址拿到的。 &amp;lt;?php $a = 10; $b = 20; echo &amp;amp;$a;       C语言里有一个对指针的定义;如果一个变量存的是地址,那么这个变量就是指针,指向地址所在的位子。 &amp;lt;?php $a = 10; $b = 20; $c = &amp;amp...
php中$$代表什么意思
&amp;lt;?php $a = 'abc'; $$a = 789; echo $abc; ?&amp;gt;   简单的解释一下俩行代码:       $a =abc;      $$a可以理解为先解析后边这个$a,然后在进行解析,最终解析成为$abc       所以直接打印$abc就是一个变量,打印出来就是789   /*  * author:咔咔  * wechat:fangkangf...
php字符代表意思
php字符代表意思: “\0” — NULL “\t” — 制表符 “\n” — 换行 “\x0B” — 垂直制表符 “\r” — 回车 ” ” — 空格
变量的变量, 变量的引用,常量
本套php为完整的从初级到smarty,thinkphp,ecshop项目实战,课程安排循序渐进,通俗易懂
可变变量与变量引用
PHP是WEB开发的最佳利器,语法吸收了C语言、Java和Perl的特点,易于学习和使用,PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。用PHP做出的动态页面与其他的编程语言相比,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
global变量解析
1  Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件   2 在函数体内定义的global变量,函数体外可以使用   &amp;lt;?php function f() { global $a; $a=123; } f(); echo $a; //正确,可以使用 ?&amp;gt;  ...
关于global中的变量.
我看到一个网站的global文件,里面有很多php变量,我真查不到它们的来源.我怀疑这些变量是否来自环境变量.或者在什么地方设置我不知道.php变量的三大来源我都背得很熟悉.怎么也找不到.rn例如它程序突然用到$cookiespath等这样的变量,rn请各位DX帮帮我分析来源吧.
PHP引用与global操作符
普通变量的引用 $a = "ABC" ; $b =& $a ;//此时$a与$b就是同一内存的两个不同名字(代表的是同一个人) echo $a ; // 这里输出: ABC echo $b ; // 这里输出: ABC $b = "EFG" ; echo $a ; // 这里 $a 的值变为 EFG 所以输出 E
python多线程与global变量
今天早上起来写爬虫,基本框架已经搭好,添加多线程爬取功能时,发现出错: 比如在下载文件的url列表中加入200个url,开启50个线程。我的爬虫…竟然将50个url爬取并全部命名为0.html,也就是说,最后的下载结果,是有1个0.html(重复的覆盖了),还有1-150。下面是我的代码: x = str(theguardian_globle.g) #x为给下载的文
变量的作用域--global
# -*- coding:utf-8 -*- 什么是作用域?就是指一个变量产生作用的范围,在哪一个范围内可以被使用 执行以下代码,会报错 # print(abc) # NameError: name 'abc' is not defined# 变量的作用域:全局变量作用域,局部变量作用域 # 全局变量:(顶格写)一般在函数、代码块外部声明的变量,被称为全局变量,作用域范围,是从
PHP函数--全局的变量 global关键字
$a=1; $b=2; function Sum(){          Global $a,$b;     $a=$a+$b; } Sum(); echo $a; ?> 以上脚本的输出将是“3”。 在函数中申明了全局变量$a和$b,任何变量的所有引用变量都会指向到全局变量。 对于一个函数能够申明的全局变量的最大数,PHP没有限制。 ----1701081730
global定义变量用法
<?php $a = 1; $b = 2; function Sum() { global $a, $b; echo $a+$b; } Sum(); //输出3 ?> <?php $a = 1; $b = 2; function Sum() { global $a, $b; echo $a+$b; } $a = 20; Sum(); //
Global类成员变量的错误
我把Mysql用户相关信息放入一类mysql_user中,有server,username,password等变量。当为其赋值,如先Global各个变量,再直接用$为其赋值,则只有server变量可行,其他都失败;只能用this->才行,不知怎么回事。rn
python实现php的global变量功能总结
1 实现数据结构GlobalMap2 数据存入from GlobalMap import GlobalMap as gmgm = gm()gm.set_map('hosts_up',hosts_up)3 数据取出from GlobalMap import GlobalMap as gmgm = gm()hosts_up = gm.map.get('hosts_up')4 使用可以在html文件里使...
php变量的赋值和引用的区别
1.js与php传值赋值和传递引用【地址】赋值 我们知道,js中,原始类型的赋值,是将值直接复制给变量;引用类型的赋值,是将内存地址复制给变量 //学习一个好方法:就是类比 这里总结哪些是直接赋值,哪些是复制的内存地址。 1、原始类型 -- 直接赋值 $name1 = 'sky'; $name2 = $name1; $name2 = 'fly'; e...
php关于变量的引用机制
昨天晚上躺在床上辗转反侧,睡也睡不踏实,思来想去的也不知道在想什么,工作的这段时间里发现自己都变苍老了,心情随笔就到这,好了,我们步入正题。 1.变量的引用,php中的“&”: $a = "hello world";//定义一个变量,下面赋值给$b $b = $a; //这一步实际上原理是会将变量$a复制拷贝一份,也就是内存中重新申请一个地址存储变量$b注:在php中,
php变量的引用问题请教
rn请教一下 函数返回的是引用,那$a在什么时候释放空间?
关于PHP变量引用 问题@@@@!~~~~~~!~!~!~
rn[color=#FF0000]纠结[/color]
php的变量引用&存在严重问题
请各位高人帮我运行一下这些代码,看看效果:rn $int = 0;rn function ReturnGlobalInt()rn global $int; return $int; rn $int_ref = &ReturnGlobalInt();rn $int = 1510;rn $int_ref = 1520;rn echo "\n ".'$int='.$int.' $int_ref='.$int_ref;//预期都是1520rnrn $int = 0;rn function ReturnInt( &$int )rn return $int; rn $int_ref = &ReturnInt( $int );rn $int = 1530;rn $int_ref = 1540;rn echo "\n ".'$int='.$int.' $int_ref='.$int_ref;//预期都是1540rnrn $array[0] = 600;rn $arr_value = $array[0];rn $arr_value = 700;rn echo "\n ".'$array[0]='.$array[0].' $arr_value='.$arr_value;//预期是600,700rnrn我已经快抓矿了rn
变量中的变量还是?
rn数据中的字段名称为 add1 add1_content rn add2 add2_contentrn add3 add3_contentrn ...rnrn就是数字有循环rnrn我现在要显示出来rnrn<%for i=1 to lday%>rn rn 第<%=i%>天线路:rn rn " [/color]size="40">rn rn rn 旅游详情:rn rn [color=#FF0000]<%=?%>[/color]rn rn <%next%>rn rnrn其中 lday 值是7rnrn我想问下高人:红色部分怎么写呢?rn谢谢啊
php中的 $代表变量,但是这个变量是什么类型如何知道?
php中的 $代表变量,但是这个变量是什么类型如何知道?
在双引号中直接使用php变量的问题
以下代码为什么$x的值不显示?如果在$x后面加个空格或标点,则正常显示。为什么,如何解决。rnrn
关于public变量和global变量的区别?
请问各路高手,关于public变量和global变量的区别?,何时用何变量?
C++中的string到底是变量还是常量?
各位大侠,小弟初学C++,看到很多资料上都把char型数组和string类定义的变量等同起来,但是我这个IO程序中就不等同了,请问C++中的string到底是变量还是常量呢?如果string对于C++来说是字符串变量,那我的程序错在哪里呢?rnrn#includern#includern#includern#includernusing namespace std;rnint main()rnrn using namespace std;rn char srcname[20]; //用char型数组是可以的rn char dstname[20];rn// string srcname("ss"); //换成string类型就不行了吗?rn// string dstname("ssa");rn ifstream input;rn ofstream output;rn cout<<"文件拷贝即将进行\n\n";rn cout<<"请输入源文件名(包括路径和扩展名):\n";rn cin>>srcname;rnrn cout<<"请输入目标文件名(包括路径和扩展名):\n";rn cin>>dstname; rnrn input.open(srcname,ios::binary);rn if(input.fail())rn rn cout<<"打不开输入文件\n";rn exit(1);rn rn rn output.open(dstname,ios::binary);rn if(output.fail())rn rn cout<<"不能写入输出文件\n";rn exit(1);rn rnrn output<
到底是传值还是引用!!!
JDK已经1.8了,也有悠久的历史了.算不上一个资深程序员,可是却是被java函数参数的传递方法弄蒙圈了.rn到底是值还是引用?rn在vb下一个byval,byref就能说明是值还是引用.rn最近看java突然发现连这个功能不具备.rn有人说一切传递都是传值这个我承认.rn因为一个是值,一个是地址值而已.rn可关键java如何分别实现传值和引用?rnrn换言之,要实现两个函数,一个函数使用参数,修改参数,并且使对修改的函数无效.rn另一个要实现修改参数是修改对原始参数的修改有效如何实现?rnrn比如:rnint a=1;rnrnint b(int b1)rn b1+=1;rn return b1;rnrnrnint c(int c1)rn c1+=1;rn return c1;rnrnrnb(a);rnc(a);rnrn现在要求是b(a);执行完后a还=1,c(a);执行完后a=2,如何实现这两个函数?