array_values dropped references

It should preserve them. This was breaking pass-by-reference
via ReflectionFunction::invokeArgs.
Esse commit está contido em:
Mark Williams
2013-04-26 12:02:10 -07:00
commit de Sara Golemon
commit f48de277d4
3 arquivos alterados com 11 adições e 1 exclusões
+1 -1
Ver Arquivo
@@ -703,7 +703,7 @@ Array Array::keys(CVarRef search_value /* = null_variant */,
Array Array::values() const {
ArrayInit ai(size(), ArrayInit::vectorInit);
for (ArrayIter iter(*this); iter; ++iter) {
ai.set(iter.secondRef());
ai.set(withRefBind(iter.secondRef()));
}
return ai.create();
}
+6
Ver Arquivo
@@ -0,0 +1,6 @@
<?php
$b = 'b';
$a = array(&$b);
var_dump(array_values($a));
+4
Ver Arquivo
@@ -0,0 +1,4 @@
array(1) {
[0]=>
&string(1) "b"
}