<?php class a
{
var $snum = 0;
function test()
{
$this->snum++;
}
}
class b
{
function b( $a )
{
$this->a = $a;
}
function test1()
{
$this->a->snum++; //想让这里在class a中再增加一个数字
}
}
$A = new a;
$B = new b($A);
$A->test();
echo $A->snum; //这里显示1
echo "<br>";
$B->test1(); //我想增加一位,变成2
echo $A->snum; //这里却不增加
?>
{
var $snum = 0;
function test()
{
$this->snum++;
}
}
class b
{
function b( $a )
{
$this->a = $a;
}
function test1()
{
$this->a->snum++; //想让这里在class a中再增加一个数字
}
}
$A = new a;
$B = new b($A);
$A->test();
echo $A->snum; //这里显示1
echo "<br>";
$B->test1(); //我想增加一位,变成2
echo $A->snum; //这里却不增加
?>
因为它们是两个独立对象,类中的对象,是不能共享其成员的,除非,一个对象向另一个对象传递一个消息,委托另一个对象去完成。在test方法添加一个参数:$obj
方法体改为:$obj->snum++;
$B->test1(); //我想增加一位,变成2
====改为:$B->test1($A);就行了