Cita:
Iniciado por abimaelrc Lo que sucede es que eso sí está haciendo referencia pero dentro del alcance de las variables en una función. Para que puedes hacer referencia a una variable debes declararlo fuera de la función y luego todo cambio que hagas dentro de la función a la referencia se verá reflejado. Algo así
Código PHP:
Ver original<?php
$a = 'foo';
$b = 'bar';
function foo(&$c, $d){
$c = $d;
}
foo($a,$b);
echo $a . ' = ' . $b; // imprime bar = bar
Si te fijas no usé el return y tampoco le asigné a la variable $a la función foo () pero se modificó la variable $a, porque pasé por referencia el primer argumento que contiene la información de la variable $a. Te recomiendo que repases sobre el
alcance de las variables y también la parte de
referencia.
Sí, si tu código lo entiendo
Hace lo que supondría que tiene que hacer
Creo que mi problema es que no he entendido qué hace exactamente =&
$a =& $b; // $a y $b apuntan al mismo contenido... pero ¿a qué contenido? ¿al de $a? ¿al de $b?
Si ejecuto ésto...
Código PHP:
$a = 1;
$b = 2;
$a =& $b;
print $a; // $a es 2
$a = 4;
print $b; // $b es 4
Por tanto, de aquí deduzco que si ninguna de las variables cambia, cuando realizamos el =& el valor que se toma es el último que se haya definido ¿Es ésto correcto?