zoukankan      html  css  js  c++  java
  • php函数的引用返回

    <?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。

  • 相关阅读:
    Properties类
    缓冲流
    Mybatis
    分页查询
    QueryRunner和JDBC连接池
    JSP
    Session
    Cookie
    http协议和eclipes绑定tomcat
    servlet
  • 原文地址:https://www.cnblogs.com/lbnnbs/p/5923997.html
Copyright © 2011-2022 走看看