Werden Objekte in PHP als Wert oder Referenz übergeben?

In diesem Code:

<?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");
    }
}
?>

Wann die MethodeBar::test() wird ausgeführt und ändert den Wert von foo # 5 in dem Array von foo-Objekten, wird das tatsächliche foo # 5 in dem Array betroffen sein, oder wird der Wert von foo # 5 in dem Array beeinflusst$testFoo Variable ist nur eine lokale Variable, die am Ende der Funktion nicht mehr existiert?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage