欢迎来到天天文库
浏览记录
ID:63497558
大小:12.23 KB
页数:4页
时间:2021-08-24
《PHP变量引用(&)、函数引用和对象引用_》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、PHP变量引用(&)、函数引用和对象引用_1.变量的引用PHP的引用两个变量的指针指向同一内存地址$a="ABC";$b=$a;echo$a;//这里输出:ABCecho$b;//这里输出:ABC$b="EFG";echo$a;//这里$a的值变为EFG所以输出EFGecho$b;//这里输出EFG2.函数的引用传递(传址调用)functiontest($a){$a=$a+100;}$b=1;echo$b;//输出1test($b);//这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数里转变$
2、a的值 就可以转变$b的值了echo"br";echo$b;//输出101?3.函数的引用返回functiontest(){static$b=0;//申明一个静态变量$b=$b+1;echo$b;return$b;}$a=test();//这条语句会输出 $b的值 为1$a=5;$a=test();//这条语句会输出 $b的值 为2$a=test();//这条语句会输出 $b的值 为3$a=5;$a=test();//这条语句会输出 $b的值 为6下面说明下:通过这种方式$a=test();得到的其实不是函数的引用返回
3、,这跟一般的函数调用没有区分 至于缘由: 这是php的规定通过$a=test()方式调用函数呢,他的作用是 将return$b中的 $b变量的内存地址与$a变量的内存地址 指向了同一个地方即产生了相当于这样的效果($a=$b;)所以转变$a的值 也同时转变了$b的值 所以在执行了4.对象的引用(PHP5)classfoo{public$bar=1;}$a=newfoo;//$a其实也是一个引用$b=$a;//拷贝引用($a)=($b)={id1}$a-bar=2;echo"b-bar=$b-bar";$b-bar=
4、3;echo"a-bar=$a-bar";//修改了b,但事实上是修改了a和b所引用的同一个对象//并不会引发CopyOnWrite创建一个新对象b$a=newfoo;//$a被修改为一个新的引用,$b没有转变//($a)={id2}($b)={id1}$a-bar=4;echo"b-bar=$b-bar";$b=$a;//显式地用法引用,b成为“对象的引用”的引用$a=newfoo;//($a)={id3}($b)=($a)={id3}$a-bar=5;echo"b-bar=$b-bar"//==outp
5、ut====b-bar=2a-bar=3b-bar=3b-bar=5更多信息请查看IT技术专栏...
此文档下载收益归作者所有