PHP:通过引用传递数组失败
问题描述:
I've the following code function:
function foo(&$vett) {
$vettore = $vett;
$vettore[] = "ciao";
var_dump($vettore);
}
$v = array();
foo($v);
var_dump($v);
When I dump the final array is empty. Have you any idea of what could be?
我有以下代码函数: p>
function foo (& $ vett){
$ vettore = $ vett;
$ vettore [] =“ciao”;
var_dump($ vettore);
}
$ v = array();
foo($ v);
var_dump($ v);
code> pre>
当我转储时,最终数组为空。 你知道可能是什么吗? p>
div>
答
Because $v
never modified. Inside the function you assign the variable into another variable. So nothing ever happen to the old $vett
try something like:
function foo(&$vett) {
$vett[] = "ciao";
echo __LINE__;
var_dump($vett);
}
$v = array();
foo($v);
var_dump($v);
答
Correct version is:
function foo(&$vett) {
$vett[] = "ciao";
}
$v = array();
foo($v);
var_dump($v);