PHP 面向对象 (四)类对象赋值为引用传递 
                                                    
                        
                    
                    
  
                    
                    - 
值传递
变量的拷贝,变量指向不同地址,一个变量的更改 不会 影响另一个变量
 - 
引用传递
指向同一个地址,一个变量的更改 会 影响另一变量
 - 
对象赋值, 为引用传递
 
实践
<?php
namespace Article {
    class Comment1
    {
        public $title;
        public $content;
        public function __construct($title, $content)
        {
            $this->title = $title;
            $this->content = $content;
        }
        public function getTitle($title)
        {
            $title = 123;
            return $title;
        }
        public function getTitleBy(&$title)
        {
            $title = 456;
            return $title;
        }
    }
    $obj = new Comment1('title', 'content');
    $obj->getTitle($obj->title); //值传递,不会影响$obj对象的$title属性
    echo $obj->title;echo "<br/>";
    echo "<pre>";var_dump($obj);echo "</pre>";echo "<br/>";
    $obj->getTitleBy($obj->title);//引用传递,会影响$obj对象的$title属性
    echo $obj->title;echo "<br/>";
    echo "<pre>";var_dump($obj);echo "</pre>";echo "<br/>";
    $obj2 = $obj;  //对象赋值,默认为引用传递,变量$obj2的修改 会 影响另一个变量$obj
    $obj2->title = 'obj2 改变 title';
    echo "<pre>";var_dump($obj);echo "</pre>";echo "<br/>";
}
复制代码,即可运行。 谢谢你的浏览,如有错误,欢迎指正哈!!!
本作品采用《CC 协议》,转载必须注明作者和本文链接
          
          
          
                关于 LearnKu
              
                    
                    
                    
 
推荐文章: