Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/01/2003, 10:59
Herminio Heredia San
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 22 años, 7 meses
Puntos: 6
Vaya, antes que nada Bhonox este que estas preguntando es todo un tema es php, y a un que es un termino sencillo si suele ser un poco confuso, como quiera intentare explicarlo lo mas claro que pueda, claro sera una explicacion sencilla para mas detalles te sugiero al igual que Cluster que visites el manual para una lectura profunda sobre el tema.

Bien, veamos en php puedes pasar el valor de una variable de dos formas una es mediante una copia y la otra por medio de referencias es decir si tenemos algo como esto:
Código PHP:
$a 1$b $a
Quiere decir que $a esta asignando una copia de su contenido a $b es decir que el contenido de $a y $b son independientes uno del otro, esto quiere decir que si hago operaciones en una de las variables el valor de la otra no se vera afectado. A hora vemoa el otro lado de la moneda con uan expresion como la siguiente.
Código PHP:
$a 1$b =& $a
Bien, parece que todo es igual pero realmente hay una pequeña diferencia cuando yo agrego un =& le estoy diciendo a php que vamos a usar una referencia y bien una referencia no es otra cosa que una forma do de usar el contenido de una variable con diferentes nombre, volviendo a nuestro caso anterior yo le estoy diciendo a $b que haga referencia o apunte al valor de contenido de $a, es decir que ahora tanto $a y $b estan "mirando" el mismo contenido, aqui lo interesante de esto es que si yo hago una operacion sobre $b esto generara un cambio en $a, y esto es debido aque ambas variables estan usando el mismo valor, veamos esto con un ejemplo:
Código PHP:
$a 1$b =& $a;
echo 
$a;
echo 
$b;// ambas valen 1
$b++;
echo 
$a;
echo 
$b;// ambas vale 2 
Este es un ejemplo sencillo y tal vez no refleja mucha utilidad pero esto tiene una ventaja que al no pasarse una copia de la variables ahorras memoria, ademas de que para ciertas circunstancias son muy utiles y en ocasiones haces uso de ellas sin darte cuenta, como lo es cuando hacemos una variable global, realmente estamos haciendo referencia a esta variables es decir tener global $var es lo mismo que hacer $var = &$GLOBAL['var].

Y bueno en un momento le sigo por que tengo que hacer unas cosas....