Foros del Web » Programando para Internet » PHP »

Error en For

Estas en el tema de Error en For en el foro de PHP en Foros del Web. Holas muchachos tengo un problema necesito hacer un for de este tipo pero por alguna razon me marca error, como puedo agregar una variable dentro ...
  #1 (permalink)  
Antiguo 29/11/2010, 07:13
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Error en For

Holas muchachos tengo un problema necesito hacer un for de este tipo pero por alguna razon me marca error, como puedo agregar una variable dentro de un GET

quiero hacer :

Código PHP:
Ver original
  1. for ($i = 1;$i <=30; $i++) {
  2.  
  3. if     (strlen($_GET['t'.'$i']) == "5"){$t$i = "$_GET[t$i]";}
  4. elseif (strlen($_GET['t'.'$i']) == "4"){$t$i = "&nbsp;$_GET[t$i]";}
  5. elseif (strlen($_GET['t'.'$i']) == "3"){$t$i = "&nbsp;&nbsp;$_GET[t$i]";}
  6. elseif (strlen($_GET['t'.'$i']) == "2"){$t$i = "&nbsp;&nbsp;&nbsp;$_GET[t$i]";}
  7. elseif (strlen($_GET['t'.'$i']) == "1"){$t$i = "&nbsp;&nbsp;&nbsp;&nbsp;$_GET[t$i]";}
  8. }

he probado de todo concatenar etc, y me da error que se me esta pasando por alto. Saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 29/11/2010, 07:17
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Error en For

'$i'

las comillas simples no leen variables.. las consideran string...
prueba sin las comillas que seria la forma correcta..



saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 29/11/2010, 07:18
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Error en For

$t$i <-- eso es un error de sintaxis ..
lee sobre variables variables en el manual

http://php.net/manual/es/language.va....variable.phps
__________________
More about me...
~ @rhyudek1
~ Github
  #4 (permalink)  
Antiguo 29/11/2010, 07:25
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Error en For

si se que es un error de sintaxis es lo que me marca, como dije he probado con las comillas y sin ellas y nada :/ por ello recurro a uds a ver si me dan otra solucion para realizar este bucle ya que son mas de 30 datos los que necesito recorrer de esa forma.

el link que me diste esta con error es sin el https vamos a revisarlo de todas formas gracias :D
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 29/11/2010, 07:29
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Error en For

http://cl.php.net/variables.variable ahi ?

otra cosa

www.php.net/strlen no puedes comparar con un string ... el resultado es integer
strlen($_GET['t'.'$i']) == "1" <-- eso tambien esta mal.. debe ser
strlen($_GET['t'.$i]) == 1

saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 29/11/2010, 07:38
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Error en For

Me va quedando claro pero entonces como puedo hacer mi for? :/

tengo por url por ejemplo

mipagina.php?t1=3.445&t2=345&t3=4.678&t4=34....... &t90=9.669

paso por url valores hasta maximo de 5 caracteres que puede ser 4.698 contando el punto.
estoy haciendo un grafico cuento aparte y necesito que me cuadre los valores entonces cuando el valores es de 4 o 3 caracteres se me corre deformando la tabla para ello quiero agregar los &nbsp; cuando el valor sea de 4 3 o 2 caracteres. y como son mas de 90 datos los que paso por URL no es la idea estar haciendo :

if (strlen($_GET[t1]) == "5"){$t1 = "$_GET[t1]";}
elseif (strlen($_GET[t1]) == "4"){$t1 = "&nbsp;$_GET[t1]";}
elseif (strlen($_GET[t1]) == "3"){$t1 = "&nbsp;&nbsp;$_GET[t1]";}
elseif (strlen($_GET[t1]) == "2"){$t1 = "&nbsp;&nbsp;&nbsp;$_GET[t1]";}
elseif (strlen($_GET[t1]) == "1"){$t1 = "&nbsp;&nbsp;&nbsp;&nbsp;$_GET[t1]";}

90 veces :/ y que pasa si me aumenta en 91 etc... entonces se me ocurrio que se podia hacer eso con un for pero como veo no puedo poner las variables dentro las variables globales alguna solucion a este problema :/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #7 (permalink)  
Antiguo 29/11/2010, 07:44
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Error en For

seria mas "optimo" capturar las variables con un foreach() asi puedes obtenerlos independiente de la cantidad.. aparte puedes formatear el numero con sprintf para lograr que todos tengan la misma longitud


saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #8 (permalink)  
Antiguo 29/11/2010, 07:54
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Error en For

sprintf no me sirve dentro de jpgraph voy ver como lo puedo resolver con el foreach saludos y gracias ;)
__________________
Gokuh Salvo al mundo. PUNTO!!!!

Etiquetas: Ninguno
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 13:40.