Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/07/2010, 06:55
falotron
 
Fecha de Ingreso: septiembre-2006
Mensajes: 68
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Tratando de entender las referencias...

Cita:
Iniciado por abimaelrc Ver Mensaje
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
  1. <?php
  2. $a = 'foo';
  3. $b = 'bar';
  4. function foo(&$c, $d){
  5.     $c = $d;
  6. }
  7. foo($a,$b);
  8. 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?