当我在PHP中使用return语句时,结果是通过值还是引用返回的?
谢谢! ANDREE。
答案 0 :(得分:7)
在PHP中,默认情况下,所有内容都按值返回(我确定有例外,但我不能想到任何atm)。除了默认情况下通过引用传递的对象(PHP> 5.0)。
答案 1 :(得分:0)
显然,它是通过引用返回的。这个简单的代码证明了它。
<?php
class InsideObject
{
public $variable;
}
class OutsideObject
{
private $insideObject;
public function __construct()
{
$this->insideObject = new InsideObject();
$this->insideObject->variable = '1';
}
public function echoVar()
{
echo $this->insideObject->variable;
}
public function getInsideObject()
{
return $this->insideObject;
}
}
$object = new OutsideObject();
$object->echoVar(); // should be 1
$insideObject = $object->getInsideObject();
$insideObject->variable = '2';
$object->echoVar(); // should be 2