2013-08-25 45 views
-3

php docs是什么,这些运营商之间的差异=和=

我发现了这一点,但弄得完全是什么,这些运营商(= and =&)

$instance = new SimpleClass(); 

$assigned = $instance; 
$reference =& $instance; 

之间的区别这个正确任何人能解释吗?

+5

http://www.php.net/manual/en/language.references.whatare.php – 2013-08-25 05:37:53

+0

您也可以检查出[此链接](http://stackoverflow.com/questions/879/php-variables-passed-by-value-or-by-reference) – orustammanapov

回答

0

你可以理解为以下几点:

$instance = "5"; 
$assigned = $instance; // stores "5" 
$reference =& $instance; // Point to the object $instance stores "5" 
$instance = null; // $instance and $reference become null 

这意味着

$实例具有值 “5” 将是空

$分配的值为“5 “不会为空,因为它与”5“一起存储。

$ reference的值为“5”,因为它指向$实例

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