来自php docs
我发现了这一点但完全混淆了这些运算符(= and =&)
$instance = new SimpleClass();
$assigned = $instance;
$reference =& $instance;
有人能解释一下吗?
答案 0 :(得分:1)
<?php
$a = 1;
$b = $a;
$b = 2;
echo "a:{$a} / b: {$b}<br />";
// returns 1/2
$a = 1;
$b =& $a;
$b = 2;
echo "a:{$a} / b: {$b}<br />";
// returns 2/2
?>
Above example clarifies the difference
答案 1 :(得分:0)
您可能会理解如下:
$instance = "5";
$assigned = $instance; // stores "5"
$reference =& $instance; // Point to the object $instance stores "5"
$instance = null; // $instance and $reference become null
这意味着
$ instance的值为“5”将为null
$ assigned的值为“5”不会为null,因为它与“5”
一起存储$ reference的值为“5”将为null,因为它指向$ instance