//代码1<?php
class Cart
{
var $owner;
function set_owner($name)
{
$this->owner=$name;
}
}
?>//代码2<?php
$acart=new Cart;
$acart->set_owner("john");
print $acart->owner;
?>
代码1中函数set_owner()中的$this->owner一旦被代码2赋值,代码1中类的变量$owner是同时也被赋值了吗?如果是,函数中的变量范围不是仅限于函数中吗?如果不是,代码2中的print $acart->owner又意味着什么?
class Cart
{
var $owner;
function set_owner($name)
{
$this->owner=$name;
}
}
?>//代码2<?php
$acart=new Cart;
$acart->set_owner("john");
print $acart->owner;
?>
代码1中函数set_owner()中的$this->owner一旦被代码2赋值,代码1中类的变量$owner是同时也被赋值了吗?如果是,函数中的变量范围不是仅限于函数中吗?如果不是,代码2中的print $acart->owner又意味着什么?
我看的PHP学习手册,能指点下吗
$acart2的$owner是没有被赋值的
不错,函数中的变量范围是仅限于函数中。但在这里不是冠以作用域 $this 了吗正因为如此,同样是 function ,在类中被译做方法
我了解代码2是实例化对象,代码1是构造函数。我是说,代码1这个构造函数,类中函数的$this->owner究竟是对类中变量$owner的引用还是复制
如果按这样讲,$this->owner = $name是对$owner的引用而不是复制了?