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中发生?输出是什么意思?我上次没有代码问过.
$foo1 = $foo2 = new foo;
Run Code Online (Sandbox Code Playgroud)
两个变量都拥有相同的对象,因此设置$foo2->x = 50也会设置它,$foo1因为它只是同一个东西的另一个名称.