我想将整数引用添加到PHP中的数组,但由于某种原因它不起作用。至于为什么我完全困惑。PHP添加对数组的引用
简化的东西,代码:
<?php
$myArray = array(1 => true, 2 => true, 3 => true);
$param_ref = array();
foreach($myArray as $key => $value) {
$param_ref[] = &$key;
}
var_dump($param_ref);
?>
我期望的输出是:
array(3) {
[0] => &int(1)
[1] => &int(2)
[2] => &int(3)
}
但实际产量为:
array(3) {
[0] => &int(3)
[1] => &int(3)
[2] => &int(3)
}
随着一些仔细检查,看起来数组的($ param_ref)值在循环的每次迭代中都被覆盖。
任何想法是怎么回事?
这是为什么?只需使用'array_keys()'。并且 - 是的,在你的情况下,你将以多个引用结束(循环结束)值 - 请参阅下面的回答 – 2014-09-06 13:44:07