2
此代碼PHP數組複製語義:當成員是引用時它做了什麼,它在哪裏記錄?
<?php
$a = 10;
$arr1 = array(&$a);
$arr1[0] = 20;
echo $a; echo "\n";
$arr2 = $arr1;
$arr2[0] = 30;
echo $a;
產生
20
30
顯然參考陣列成員 「保留」,這可導致,例如,到一些有趣的/奇怪的行爲,如
<?php
function f($arr) {
$arr[0] = 20;
}
$val = 10;
$a = array(&$val);
f($a);
echo $a[0];
?>
輸出
20
我的問題是:它是什麼,它在哪裏記錄(除了用戶評論在http://www.php.net/manual/en/language.types.array.php#50036)和Zend引擎的源代碼本身?
這就是它現在,謝謝:) – mlvljr 2011-05-20 13:29:48
這應該只是'陣列'的頁面:)。 – mlvljr 2011-05-20 13:32:03
@mlvljr:如果你這麼想,你可以提交一個文檔錯誤:http://bugs.php.net/report.php – NikiC 2011-05-20 13:34:40