Foros del Web » Programando para Internet » PHP »

chorrada con variables, estoy negado!

Estas en el tema de chorrada con variables, estoy negado! en el foro de PHP en Foros del Web. Hola a todos, la verdad es que estoy un poco descolocado con este problema, supongo que será una chorrada pero... el caso es que tengo ...
  #1 (permalink)  
Antiguo 25/07/2007, 14:39
 
Fecha de Ingreso: julio-2007
Mensajes: 4
Antigüedad: 16 años, 9 meses
Puntos: 0
chorrada con variables, estoy negado!

Hola a todos,

la verdad es que estoy un poco descolocado con este problema, supongo que será una chorrada pero...

el caso es que tengo un formulario con un menú desplegable de nº de personas (de 1 a 8) y según las personas elegidas muestra el número de campos de texto seleccionado para introducir la edad de cada persona, almacenando los valores en edad1, edad2, edad3... hasta edad8

Al enviar el formulario recibo los valores de edad1, etc, en las variables
$edad1=$_POST["edad1"]; así hasta 8 y funciona sin problemas, también recibo el número de personas de la misma manera en la variable $pasajerosnum

Aquí viene el problema:

Las personas de menos de 12 años tiene un descuento, asi que para contar de los pasajeros que viajan cuales son niños hago lo siguiente:

$ninos=0;
for ($i=1;$i=$pasajerosnum;$i++)
{
if ("$edad".$i)<12) {
$ninos++
}
}

Mi problema está en que en el if no me reconoce la variable. Es decir, intento reconstruir el nombre de la variable a $edad1, $edad2.... usando la variable del contador, pero nada. He probado mil cosas pero lo más que llego a conseguir es que otra variable almacene "$edad1" pero no el valor que esa variable obtiene del formulario.

Creo que me he explicado bien, a ver si alguien me puede echar un mano.

Muchas gracias
  #2 (permalink)  
Antiguo 25/07/2007, 15:14
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Re: chorrada con variables, estoy negado!

Yo lo haría así

Código PHP:
$ninos=0;
for (
$i=1;$i=$pasajerosnum;$i++) {
   if (
$_POST["edad".$i] < 12) {
      
$ninos++
   }

__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 25/07/2007, 16:24
 
Fecha de Ingreso: julio-2007
Mensajes: 4
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: chorrada con variables, estoy negado!

Muchísimas gracias, Toleranx

funciona a la perfección así!!

De todas formas, en actionscript (flash) por ejemplo, se puede construir una variable como propongo en el post usando eval("edad"+$i) sin problemas. ¿Se puede también en PHP con alguna función o de otra forma?

Gracias de nuevo y buenas noches
  #4 (permalink)  
Antiguo 26/07/2007, 09:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: chorrada con variables, estoy negado!

Si, puedes usar eval tmb aunque tienes que tener cuidado que la cadena sea valida en PHP, tendrias que usar algo asi:
Código PHP:
$valor = eval( '$' $edad $i ); 
Saludos.
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 19:52.