Foros del Web » Programando para Internet » PHP »

crear un array a partir de una variable

Estas en el tema de crear un array a partir de una variable en el foro de PHP en Foros del Web. Hola a todos, estoy usando la libreria jpgraph pero tengo un problema a la hora de pasar los datos para que se generen las graficas ...
  #1 (permalink)  
Antiguo 08/02/2012, 10:43
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
crear un array a partir de una variable

Hola a todos, estoy usando la libreria jpgraph pero tengo un problema a la hora de pasar los datos para que se generen las graficas

Normalmente y en los ejemplo grafican asi:

Código PHP:
Ver original
  1. <?php
  2. include("src/jpgraph.php");
  3.  include("src/jpgraph_bar.php");
  4.  $ydata = array(5,6,7);
  5.   $graph = new Graph(350, 250, "auto");    
  6.   $graph->SetScale("textlin");
  7.  
  8.   $graph->img->SetMargin(40, 20, 20, 40);
  9.   $graph->title->Set("JpGraph Demo");
  10.   $graph->xaxis->title->Set("Altura" );
  11.   $graph->yaxis->title->Set("Total" );
  12.  
  13.   $barplot =new BarPlot($ydata);
  14.   $barplot->SetColor("orange");
  15.  
  16.   $graph->Add($barplot);
  17.   $graph->Stroke();
  18. ?>

Yo estoy leyendo los datos de un archivo xml asi:

Código PHP:
Ver original
  1. <?php
  2. $archivo="xmlinformes/infoges_2012.xml";
  3. $x = new SimpleXMLElement($archivo, null, true);
  4. $ing="";
  5. foreach( $x->mes as $mes )
  6. {
  7.     $tot_ing_hos=$mes['tot_ing_hos'];
  8.     $tot_egr_hos=$mes['tot_egr_hos'];
  9.     $ing.=$tot_ing_hos.",";
  10.  
  11. }
  12.  $ing = substr ($ing, 0, -1);
  13.  echo $ing; // que muestra 94,58
  14. ?>

Pero en el momento de colocar esa variable en :

$ydata = array($ing);

Tengo problema y la grafica no se genera, veo que el problema es que no se estan interpretando las comas, entonces como podria enviarle los parametros a la variable $ydata?

Agradezco me puedan colaborar
  #2 (permalink)  
Antiguo 08/02/2012, 10:49
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: crear un array a partir de una variable

El problema radica en que a pesar de que $ydata es un array esta en si solo tiene un string como único valor:

Código PHP:
Ver original
  1. $ydata = array([0]=>"94,58");

si vez ? lo que tenes que hacer es separar los valores con explode para que los valores del array vayan en indices diferentes:

Código PHP:
Ver original
  1. $ydata = array([0]=>"94", [1]=>"58");
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 08/02/2012, 13:39
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: crear un array a partir de una variable

El problema es que el numero de indices varia, entonces asi no me serviria...
  #4 (permalink)  
Antiguo 08/02/2012, 13:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: crear un array a partir de una variable

Cita:
Iniciado por oscarbt Ver Mensaje
El problema es que el numero de indices varia, entonces asi no me serviria...
Se nota que no pones atención.

La función explode() va a cortar separando por comas las frases de tu cadena creando un arreglo dinámicamente.

No es necesario especificarle el numero de índices, no necesitas saberlo.

Si no haces la prueba te vas a quedar con el mismo problema.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 08/02/2012, 13:56
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
Respuesta: crear un array a partir de una variable

Aparte de que no es necesario el explode, puedes directamente guardar en un array:
Código PHP:
Ver original
  1. $datos = array();
  2. while(/* stuff */) {
  3.        $datos[] = $undato;
  4. }
  5.  
  6. var_dump($datos);

Saludos.

Etiquetas: 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 08:50.