<?php
function &test(){
static $b = 1;
$b += 2;
return $b;
} $a = &test();
$a =8;
$c = test();
echo $c;
exit;

$a=test()方式调用函数,只是将函数的值赋给$a而已,

而$a做任何改变都不会影响到函数中的$b而通过$a=&test()方式调用函数呢,

他的作用是将return $b中的$b变量的内存地址与$a变量的内存地址指向了同一个地方,

即产生了相当于这样的效果($a=&b;)

所以改变$a的值也同时改变了$b的值所以在执行了 $a=&test();  $a=8;  以后,$c的值变为了10

    class a{
var $abc="ABC";
} $b=new a;
$c=$b;
echo $b->abc; //这里输出ABC
echo $c->abc; //这里输出ABC
$b->abc="DEF";
echo $c->abc; //这里输出DEF

以上代码是在PHP5中的运行效果,在PHP5中对象的复制是通过引用来实现的。

上列中$b=new a; $c=$b; 其实等效于$b=new a; $c=&$b;
PHP5中默认就是通过引用来调用对象,但有时你可能想建立一个对象的副本,

并希望原来的对象的改变不影响到副本 .

为了这样的目的,PHP定义了一个特殊的方法,称为__clone。

php函数的引用返回的更多相关文章

  1. PHP引用(&)初探:函数的引用返回

    函数的引用返回 先看代码: <?php function &test() { static $b=0;//申明一个静态变量 $b=$b+1; echo $b; return $b; } ...

  2. PHP 函数的“引用返回”概念释疑(转)

    很多时候我们会看到这样的代码(出自 CI 框架源码): 1 $class =& load_class('a','b'); 我们都知道其中的'&'是指引用,但是它的作用是什么呢?它能够解 ...

  3. php函数名前添加& 函数的引用返回

    function &test(){ static $b=0; $b= $b+1; return $b; } $a= test(); echo $a,"\n"; $a = 3 ...

  4. 详解php中函数的引用传递和返回 (附代码)

    本篇文章带大家了解一下php的引用,详细介绍一下函数的引用传递和引用返回.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助.php的引用(就是在变量或者函数.对象等前面加上&符号 ...

  5. php变量的引用及函数的引用

    Php变量的引用及函数的引用放回 变量的引用    $a="ABC";    $b =&$a;    echo $a;//这里输出:ABC    echo $b;//这里输 ...

  6. php引用(&)详解及注意事项——引用返回function &a();&a()

    http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/09/10/2173092.html 函数的引用返回 先看代码 <?php func ...

  7. 常量函数、常量引用参数、常量引用返回值[C++]

    1. 关于常量引用正像在C语言中使用指针一样,C++中通常使用引用 有一个函数... foo()并且这个函数返回一个引用...... & foo()...., 一个指向位图(Bitmap)的引 ...

  8. [二] java8 函数式接口详解 函数接口详解 lambda表达式 匿名函数 方法引用使用含义 函数式接口实例 如何定义函数式接口

    函数式接口详细定义 package java.lang; import java.lang.annotation.*; /** * An informative annotation type use ...

  9. php对函数的引用

    function &example($tmp=0){                  //定义一个函数,别忘了加“&”符     return $tmp;              ...

随机推荐

  1. Android TextView图文混合编排

    Android TextView图文混合编排 实现技术细节不难,两个要点:1.html代码的混合编写.2,重写ImageGetter.例如:布局: <?xml version="1.0 ...

  2. 常用的 SQL 函数

    SQL 函数 聚合函数(针对数字列): AVG:求平均分  COINT: 计算个数  MAX: 求最大值  MIN: 求最小值  SUM: 求和 数学函数():  ABS:     绝对值  CEIL ...

  3. cocos2d-x 3.2 listview scorllview 等容器在小米华为等部分手机显示泛白解决

    感觉记不住,代码贴上以免以后难找 在proj.android\src\org\cocos2dx\cpp\AppActivity.java 中的 public class AppActivity ext ...

  4. JSBinding+SharpKit / 菜单介绍

  5. Sublime Text 3常用快捷键

    收集的一些常用快捷键: 选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更 ...

  6. CompositeConfiguration的用法

    public class Mytest { private static ApplicationContext applicationContext; public static void main( ...

  7. jq+jsonp+ajax解决跨域问题

    Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料. 关于Jsonp更详细的资料请参考http://baike.baidu.com/ ...

  8. ASP.NET MVC Web API 学习笔记---第一个Web API程序

    http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...

  9. 今天的工作发现了4年前的“bug一枚”

    上午的时候山东公司要求下拨资金160万(因目前系统不能支付个人卡),在下拨单保存的时候系统提示余额不足,我马上看内部存款,结果发现人家还有190万呢,然后就看今天的委托付款单还有下拨单,山东都没有,一 ...

  10. thinkphp nginx配置

    安装和配置: http://www.cnblogs.com/Bonker/p/4252588.html  spawn-fcgi 要先安装和启动:(已过时) sudo spawn-fcgi -a -u ...