Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-01-2008
Avatar de gabrielflowers
gabrielflowers gabrielflowers is offline
Miembro
 
Registrado: jul 2007
Posts: 88
Poder: 17
gabrielflowers Va por buen camino
que significa el operador "=&"

hola a todos, mi pregunta es la sgte: que significa el operador =&
, he estado viendo algunos proyectos de GNU y me tope con esta linea de codigo, me gustaria que me ayuden a interpretarla:
Código PHP:
$p4a =& p4a::singleton("products_catalogue");
 
$p4a->main(); 
gracias de antemano, saludos
__________________
"valor a pesar de toda debilidad del cuerpo, el espiritu debe triunfar"
Responder Con Cita
  #2  
Antiguo 28-01-2008
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
Uso normal:

Código:
$a = 'Uno';
$b= $a;

echo $a;  // Muestra 'Uno'
echo $b;  // Muestra 'Uno'

$a = 'Dos';

echo $a;  // Muestra 'Dos'
echo $b;  // Muestra 'Uno'
Uso de referencias:

Código:
$a = 'Uno';
$b= &$a;

echo $a;  // Muestra 'Uno'
echo $b;  // Muestra 'Uno'

$a = 'Dos';

echo $a;  // Muestra 'Dos'
echo $b;  // Muestra 'Dos'
En definitiva usando el operador & en lugar de copiarse el valor de una variable a otra, las dos variables pasan hacer referencia al mismo lugar de almacenamiento de modo que modificar el valor de una variable modifica el valor de la otra ya que en realidad hacen referencia a la misma zona de memoria.

Saludos

Última edición por Mick fecha: 28-01-2008 a las 19:15:17.
Responder Con Cita
  #3  
Antiguo 28-01-2008
Avatar de gabrielflowers
gabrielflowers gabrielflowers is offline
Miembro
 
Registrado: jul 2007
Posts: 88
Poder: 17
gabrielflowers Va por buen camino
gracias mick

gracias mick, tu respuesta fue bastante clara y convincente
con el operador =& ($a =& $b), lo que se hace es simplemente el paso del valor de una variable por referencia
__________________
"valor a pesar de toda debilidad del cuerpo, el espiritu debe triunfar"

Última edición por gabrielflowers fecha: 28-01-2008 a las 20:56:35.
Responder Con Cita
  #4  
Antiguo 28-01-2008
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por mick
En definitiva usando el operador & en lugar de copiarse el valor de una variable a otra, las dos variables pasan hacer referencia al mismo lugar de almacenamiento de modo que modificar el valor de una variable modifica el valor de la otra ya que en realidad hacen referencia a la misma zona de memoria.
Mick, esto es realmente útil ?, lo digo porque nunca lo he usado en mis proyectos ni en ninguno que haya tenido que modificar

Gracias...

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #5  
Antiguo 29-01-2008
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
Cita:
Empezado por lucasarts_18 Ver Mensaje
Mick, esto es realmente útil ?, lo digo porque nunca lo he usado en mis proyectos ni en ninguno que haya tenido que modificar

Gracias...

Hasta Luego .-
Tiene sus usos, por ejemplo si hay que pasarle como parametro un array a una funcion para que modifique o añada elementos a ese mismo array hay que usar referencias ya que php no tiene punteros.

Y en php4 si se usan clases/objetos es casi obligatorio, en php 4 cuando haces:
a:= b;
si b es un objeto se crea uno nuevo y se copian todos los datos del original a este con lo que tendremos finalmente dos objetos distintos.
Si tenemos un objetos con decenas o centenas de propiedades y metodos pues duplicarlo es un poco bestia, asi que se usa la & para copiar solo un referencia al mismo objeto o para pasar ese objeto a cualquier funcion que necesite manipularlo.

En php5 el tema de los objetos lo han cambiado y ya es como en java, de modo que si se asignan un objeto a una variable se copia solo una referencia a ese mismo objeto, de modo que no hace falta usar &.

Saludos
Responder Con Cita
  #6  
Antiguo 29-01-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Mick
En php5 el tema de los objetos lo han cambiado y ya es como en java, de modo que si se asignan un objeto a una variable se copia solo una referencia a ese mismo objeto, de modo que no hace falta usar &.
No es del todo cierto que sea como Java, ya que son referencias no punteros. El manual PHP lo explica.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 29-01-2008 a las 15:14:54. Razón: El manual PHP lo explica mejor que yo.
Responder Con Cita
  #7  
Antiguo 29-01-2008
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por Mick Ver Mensaje
Tiene sus usos, por ejemplo si hay que pasarle como parametro un array a una funcion para que modifique o añada elementos a ese mismo array hay que usar referencias ya que php no tiene punteros.
Ahora me queda más claro, además este link me ayudo a entender el tema

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Qué significa el mensage "BLOB has been modified" en una tabla Paradox? Alcolea Tablas planas 1 06-10-2012 17:23:54
Comentario "aplastante" contra los que atacan la "piratería" Casimiro Notevi La Taberna 12 07-03-2010 14:03:02
Que Significa el Error "connection Closed Gracefully" en los Indys ???? AGAG4 Varios 6 26-03-2009 23:01:59
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 00:03:53
¿Qué significa "BLOD Has been modified"? Alcolea Tablas planas 0 21-01-2007 06:12:13


La franja horaria es GMT +2. Ahora son las 19:06:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi