【发布时间】:2011-01-05 03:04:23
【问题描述】:
这是我得到的测试和响应。我认为这可能有问题,应该抛出错误或通知,但我不明白为什么可以容忍。
<?php
$test = array( 0 => 'test', 1=> &$test );
var_dump( $test );
// array(2) { [0]=> string(4) "test" [1]=> &array(2) { [0]=> string(4) "test" [1]=> &array(2) { [0]=> string(4) "test" [1]=> *RECURSION* } } }
?>
【问题讨论】:
-
我很惊讶您可以在定义
$test的同一表达式中引用$test。$test = array('test'); $test[]=&$test;很清楚。但是你的…… -
这不是一个真正的问题,我也很惊讶。我只是在玩数组并遇到了个人困境。
-
@Gumbo PHP 很奇怪。您可以在值存在之前分配引用:例如
$x =& $y; $y = 5;是有效的,$y之前从未定义过。
标签: php arrays recursion pass-by-reference