PHP对象的在函数间传递

PHP对象的在函数间传递

作者:admin |  时间:2014-02-26 |  浏览:487 |  0 条评论
<?php
class UserProfile
{
     private $userinfo = array();
    
     public function __set( $name, $value )
     {
        $this->userinfo[$name] = $value;
    }

    public function __get( $name )
    {
        if ( array_key_exists( $name, $this->userinfo ) )
        {
            return $this->userinfo[$name];
        }else {
             return null;
        }
    }

     public function __isset( $name )
     {
        return isset( $this->userinfo[$name] );
    }
}


function fun1($a) {  //这里$a前加&不加&结果一样
   fun2($a);
}

function fun2($a) {
   fun3($a);
}

function fun3($a) {
   $a->username = "jishipu";
}

$userprofile = new UserProfile();
fun1($userprofile);
var_dump($userprofile);
?>
输出结果:
object(UserProfile)#1 (1) { ["userinfo:private"]=> array(1) { ["username"]=> string(7) "jishipu" } }
php对象是按照地址进行传递的

发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>