PHP变量引用难题

PHP变量引用难题,php,reference,Php,Reference,运行以下代码: <?php $a = array('yes'); $a[] = $a; var_dump($a); <?php $a = array('no'); $b = &$a; $a[] = $b; $a = array('yes'); $a[] = $a; var_dump($a); 运行以下代码: <?php $a = array('yes'); $a[] = $a; var_dump($a); <?php $a = array('no'); $b

运行以下代码:

<?php
$a = array('yes');
$a[] = $a;
var_dump($a);
<?php
$a = array('no');
$b = &$a;
$a[] = $b;
$a = array('yes');
$a[] = $a;
var_dump($a);
运行以下代码:

<?php
$a = array('yes');
$a[] = $a;
var_dump($a);
<?php
$a = array('no');
$b = &$a;
$a[] = $b;
$a = array('yes');
$a[] = $a;
var_dump($a);

我重新分配了$a的值,为什么会有递归循环引用?

要删除引用,需要调用
unset
。在
$a=array('yes')之后没有
unset
$a
仍然与
$b
绑定,它们仍然是引用。因此,第二部分的行为与第一部分相同

但是,请注意,数组内的引用可能是 危险的使用 右侧的参考不会将左侧变为 引用,但数组中的引用将保留在这些常规 作业


哇,stackoverflow上有一些有趣的东西!:)+1.