来自php 文档
我发现了这一点,但完全混淆了这些运算符之间的区别(= and =&)
$instance = new SimpleClass();
$assigned = $instance;
$reference =& $instance;
任何人都可以适当地解释一下吗?
<?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
你可以这样理解:
$instance = "5";
$assigned = $instance; // stores "5"
$reference =& $instance; // Point to the object $instance stores "5"
$instance = null; // $instance and $reference become null
意思是
$instance 的值为“5”将为空
$assigned 的值“5”不会为空,因为它与“5”一起存储
$reference 的值“5”将是 null,因为它指向 $instance