Foros del Web » Programando para Internet » PHP »

Dos variables en una

Estas en el tema de Dos variables en una en el foro de PHP en Foros del Web. recibo en un archivo tantas variables como mensajes tenga en el buzon por ejemplo: $mensaje0 = 4; (4 es el id del mensaje) $mensaje1 = ...
  #1 (permalink)  
Antiguo 17/10/2010, 17:02
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 12 años, 1 mes
Puntos: 2
Dos variables en una

recibo en un archivo tantas variables como mensajes tenga en el buzon
por ejemplo:
$mensaje0 = 4; (4 es el id del mensaje)
$mensaje1 = 20;
$mensaje2 = 25;
$men......

asi continuamente...

el problema esta cuando quiero usar esa variable, si escribo
Código PHP:
echo $mensaje0
(por ejemplo) me devuelve el 4, pero estoy probando y probando con el loop for para automatizarlo pero no logro hacer que me lea $mensaje$i como si fuera una sola variable y no dos.

me toma como que $mensaje es una variable e $i es otra, agradeceria si alguno me da alguna idea de como puedo arreglar esto para que sea una sola, por ejemplo:
si $i = 0;
$mensaje$i = $mensaje0 = 4;

Código PHP:
for ($i=0$i<$num_consulta$i+=1)
{
$result mysql_query("delete from mensajes where id='$mensaje$i' and destinatario='$valid_user'");

por si no me exprese bien, necesito que la parte donde dice

Código PHP:
id='$mensaje$i' 
sea id='$mensaje0', id='$mensaje1', dependiendo el valor que tenga $i
  #2 (permalink)  
Antiguo 17/10/2010, 17:21
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 13 años, 1 mes
Puntos: 322
Respuesta: Dos variables en una

Para eso se concatena;

Código PHP:
$mensaje 'ejemplo';
$i 1;

echo 
$mensaje.$i;
//Imprimiria ejemplo1 
Si quieres ir aumentando de 1 en 1...
Código PHP:
$mensaje 'ejemplo';
$i 0;

while (
$i 10) {
echo 
$mensaje.$i.'<br>';
$i++;

O con un for;
Código PHP:
for ($i=0$i<10$i++) {
//haces aca lo que necesites

__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 17/10/2010, 17:33
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Dos variables en una

Cita:
Iniciado por Sourcegeek Ver Mensaje
Para eso se concatena;

Código PHP:
$mensaje 'ejemplo';
$i 1;

echo 
$mensaje.$i;
//Imprimiria ejemplo1 
No me entendiste creo, ahi me devolveria como decis vos ejemplo1, pero ahi lo que quisiera que me devuelva seria el valor de $ejemplo1
  #4 (permalink)  
Antiguo 17/10/2010, 17:35
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 12 años, 9 meses
Puntos: 214
Respuesta: Dos variables en una

Intenta esto

Código PHP:
Ver original
  1. $mensaje0 = 0;
  2. $mensaje1 = 1;
  3. $mensaje2 = 2;
  4. $mensaje3 = 3;
  5. $mensaje4 = 4;
  6. $mensaje5 = 5;
  7. $mensaje6 = 6;
  8. $mensaje7 = 7;
  9. $mensaje8 = 8;
  10. $mensaje9 = 9;
  11. $mensaje10 = 99;
  12. for ($i=0; $i<=10; $i+=1)
  13. {
  14. $tmp = "mensaje$i";
  15. $nombre = $$tmp;
  16. echo "delete from mensajes where id='$nombre' and destinatario='$valid_user'";
  17. }
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 17/10/2010, 17:46
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 13 años, 1 mes
Puntos: 322
Respuesta: Dos variables en una

Cita:
Iniciado por Fabih24 Ver Mensaje
No me entendiste creo, ahi me devolveria como decis vos ejemplo1, pero ahi lo que quisiera que me devuelva seria el valor de $ejemplo1
Esque eso que dijiste de '$mensaje$i = $mensaje0 = 4; ' no es posible...
En todo caso trabaja con arrays
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #6 (permalink)  
Antiguo 17/10/2010, 17:47
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Dos variables en una

Cita:
Iniciado por mortiprogramador Ver Mensaje
Intenta esto

Código PHP:
Ver original
  1. $mensaje0 = 0;
  2. $mensaje1 = 1;
  3. $mensaje2 = 2;
  4. $mensaje3 = 3;
  5. $mensaje4 = 4;
  6. $mensaje5 = 5;
  7. $mensaje6 = 6;
  8. $mensaje7 = 7;
  9. $mensaje8 = 8;
  10. $mensaje9 = 9;
  11. $mensaje10 = 99;
  12. for ($i=0; $i<=10; $i+=1)
  13. {
  14. $tmp = "mensaje$i";
  15. $nombre = $$tmp;
  16. echo "delete from mensajes where id='$nombre' and destinatario='$valid_user'";
  17. }
muchas gracias, me funciono perfectamente
  #7 (permalink)  
Antiguo 17/10/2010, 17:56
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 13 años, 1 mes
Puntos: 322
Respuesta: Dos variables en una

Cita:
Iniciado por Fabih24 Ver Mensaje
muchas gracias, me funciono perfectamente
Meh, es lo que yo hice....
Código PHP:
$mensaje 'mensaje';
$i 0;

while (
$i 10) {
echo 
$mensaje.$i.'<br>';
$i++;

__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #8 (permalink)  
Antiguo 17/10/2010, 18:01
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Dos variables en una

Cita:
Iniciado por Sourcegeek Ver Mensaje
Meh, es lo que yo hice....
Código PHP:
$mensaje 'mensaje';
$i 0;

while (
$i 10) {
echo 
$mensaje.$i.'<br>';
$i++;

no, no es lo mismo, ahi te devuelve "mensaje0", y tendria que devolver el valor de $mensaje0.

gracias igual por tratar de ayudar.
  #9 (permalink)  
Antiguo 17/10/2010, 19:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 14 años, 2 meses
Puntos: 2534
Respuesta: Dos variables en una

lo que necesitas se le conoce como variables variables, tan solo investiga el término...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: dos, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:51.