为什么它会在PHP中发生?输出是什么意思?

Gop*_*amy 0 php class assign

class foo {
    public $x;
    function __construct() {
        $this->x = 5;
    }
}


$foo1 = $foo2 = new foo;
$f1 = $f2 = 5;

echo "foo1 = ".$foo1->x;
echo PHP_EOL;
echo "foo2 = ".$foo2->x;
$foo2->x = 50;

echo PHP_EOL;
echo "foo1 = ".$foo1->x;
echo PHP_EOL;
echo "foo2 = ".$foo2->x;
Run Code Online (Sandbox Code Playgroud)

截图

为什么它会在PHP中发生?输出是什么意思?我上次没有代码问过.

Cob*_*ast 6

$foo1 = $foo2 = new foo;
Run Code Online (Sandbox Code Playgroud)

两个变量都拥有相同的对象,因此设置$foo2->x = 50也会设置它,$foo1因为它只是同一个东西的另一个名称.