【发布时间】:2020-04-17 20:03:46
【问题描述】:
在这段代码中:
<?php
class Foo
{
var $value;
function foo($value)
{
$this->setValue($value);
}
function setValue($value)
{
$this->value=$value;
}
}
class Bar
{
var $foos=array();
function Bar()
{
for ($x=1; $x<=10; $x++)
{
$this->foos[$x]=new Foo("Foo # $x");
}
}
function getFoo($index)
{
return $this->foos[$index];
}
function test()
{
$testFoo=$this->getFoo(5);
$testFoo->setValue("My value has now changed");
}
}
?>
当方法Bar::test()运行并改变foo对象数组中foo#5的值时,会影响数组中实际的foo#5,还是$testFoo变量只是一个局部变量在函数结束时将不复存在的变量?
【问题讨论】: