Cita:
Iniciado por abimaelrc Te repito porque parece que no me leiste la primera vez. Eso sí hace referencia pero dentro la función y existe lo que se llama alcance de las variables (en ingles es variable scope). Si tu haces un echo a las variables dentro de la función vas a ver que sí hace referencia pero la referencia se hace dentro de la función y el alcance es interno solamente de la función. Si quieres que el alcance sea externo tienes que declararlo fuera de la función e indicar también en la función que hay al menos un argumento que lo vas a pasar por referencia.
Sí que te leí
Y entiendo todo lo que dices, lo único que digo es que
no me parece lógico por parte de quien se ha inventado ésto de las referencias (xD) que este código, tras
modificar $var dentro de la función y estar $var pasada por referencia en la declaración de la función no tenga alcance externo
Código PHP:
$var = 'foo';
$var2 = 'baz';
function foo(&$var,$var2){
$var =& $var2;
}
foo($var,$var2);
echo $var;
Y este otro código, haciendo prácticamente lo mismo:
modificar $var dentro de la función y estar $var pasada por referencia en la declaración de la función sí lo tenga
Código PHP:
$var = 'foo';
$var2 = 'baz';
function foo(&$var,$var2){
$var = $var2;
}
foo($var,$var2);
echo $var;