Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/07/2006, 12:14
Avatar de enriqueplace
enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Mmmm .... depende el contexto:

Si es PHP4, por defecto todo es pasado "por valor" y si tu quieres que pase "por referencia" (es decir, siempre enviar y usar el mismo objeto real) deberás decirlo de manera explícita.

Si es PHP5, esto cambió. Ahora los objetos son todos pasados "por referencia" (siempre), lo cual no debería ser necesario hacerlo de forma explícita (haciendo uso del &).

Nota: los objetos, no todas las variables. Si pasas una variable, esta sigue pasando "por valor" sin importar la versión de PHP, lo cual deberás hacer uso del & para decirle que es una referencia.

Definición: piensa en "por referencia" como un puntero de memoria que apunta a la misma variable siempre, y "por valor", copias de la misma, o sea, nuevas variables con el mismo valor. Si lo haces por referencia, y modificas sus valores, el resto que reciba esa variable conservarán el valor anterior. De lo contrario, cada vez que pasas la variable, solo pasas el "valor" (como dice la palabra), no manteniéndose los cambios que hagas si lo recibe otro.

¿Si es mejor? Bueno, si así lo hacen los lenguajes OO y PHP5 lo copió, debe ser bueno que así sea

PD: lee este capítulo del manual de PHP, que tal vez te aclare un poco más: Capítulo 21. Explicando las Referencias
__________________
Blog phpsenior.com Cursos a Distancia surforce.com