Foros del Web » Programando para Internet » PHP »

me trabé con un array

Estas en el tema de me trabé con un array en el foro de PHP en Foros del Web. hola, tengo este array $data = array(1 => 0, 10,20,30); y queiro reemplazar 10,20,30 por lo que traigo en una variable mivariable = 100,300,10 osea ...
  #1 (permalink)  
Antiguo 07/05/2009, 12:43
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
me trabé con un array

hola, tengo este array

$data = array(1 => 0, 10,20,30);

y queiro reemplazar 10,20,30
por lo que traigo en una variable

mivariable = 100,300,10

osea que quiero que el arreglo quede
$data = array(1 => 0, 100,30,10);

gracias!!
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 07/05/2009, 12:52
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: me trabé con un array

Mmm...

$mivariable="100,30,10";

$data[1]=$mivariable;
.
.
.

Saludos.
  #3 (permalink)  
Antiguo 07/05/2009, 14:08
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Respuesta: me trabé con un array

mm
eso le asigna a la posicion 1 del arreglo el valor 100,30,10
yo necesito llegar a $data = array(1 => 0, 100,30,10);
__________________
On error no hago nada porque deje de fumar...
  #4 (permalink)  
Antiguo 07/05/2009, 14:17
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: me trabé con un array

Mmm...

$data = (1 => $mivariable);
  #5 (permalink)  
Antiguo 07/05/2009, 14:33
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: me trabé con un array

Suponiendo que la informacion siempre va a tener el mismo formato:

Código PHP:
$data = array(=> 010,20,30);
$mi_variable "100,300,10";
$array explode(","$mi_variable);
for(
$i 2$i <= count($data); $i++) {
  
$data[$i] = $array[($i 2)];
}

var_dump($data); 
Aunque, hay muchas mas formas de hacerlo.
  #6 (permalink)  
Antiguo 07/05/2009, 14:39
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Respuesta: me trabé con un array

mm nop tampoco me funciono..
necesito esto
array(1 => 0, 100,30,10);

1 => 0 que vendria a ser? no se refiere a la posicion 1 no?
__________________
On error no hago nada porque deje de fumar...
  #7 (permalink)  
Antiguo 07/05/2009, 14:41
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: me trabé con un array

Corri el codigo y hace exactamente lo que deseas.
¿Porque dices que no funciono?

Código:
Array
(
    [1] => 0
    [2] => 100
    [3] => 300
    [4] => 10
)
Y si, 1 => 0 se refiere a la posición 1.
  #8 (permalink)  
Antiguo 07/05/2009, 14:50
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Respuesta: me trabé con un array

osea establece que la posicion del primero elemento es 1 en vez de 0 ??? es eso?
__________________
On error no hago nada porque deje de fumar...
  #9 (permalink)  
Antiguo 07/05/2009, 14:52
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: me trabé con un array

1 => 0
Es
LLAVE => VALOR
Osea, la LLAVE 1, tiene un valor de 0.
Por lo que si, la posicion del primer elemento sera 1, en vez de el default 0. Si quieres que sea 0, no tienes que especificar la llave:
array(0, 100, 300, 10); por ejemplo ..
  #10 (permalink)  
Antiguo 07/05/2009, 14:56
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: me trabé con un array

Pues array(1=>0,1020,30) ncesariamente no tiene que ser la posición 1 de ese arreglo, ya que esta manera de declarar un arreglo se le conoce "asociativas" y es que puedes asociar un valor con otro valor. Ejemplo:

$moneda=array("espana"=> "Peseta","francia" => "Franco","usa" => "Dolar");

Que tambien puede ser:

$moneda=array("0"=> "Peseta","1" => "Franco","2" => "Dolar");

Así que tienes que definir bien que es lo que necesitas para poder ayudarte con mayor rapidez y facilidad.


Saludos.
  #11 (permalink)  
Antiguo 07/05/2009, 15:03
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Respuesta: me trabé con un array

ok, me baje una clase para generar charts, y los valores se los paso en el array
el tema es que queiro pasarle los valores por url meterlos en el array y generar el chart

$data = array(1 => 40, 10,20,30,40);
$graph = new PostGraph(455,330);
$graph->setGraphTitles('', 'periods', 'points');
$graph->setYNumberFormat('integer');
$graph->setYTicks(10);
$graph->setData($data);
$graph->setXTextOrientation('horizontal');
$graph->drawImage();
$graph->printImage();

como veras tengo el array definido en el documento
$data = array(1 => 40, 10,20,30,40);

yo necesito hacer algo como
$data = array(1 => datos, que, traigo, por, get);

porahi se entiende mejor con el ejemplo
gracias!
__________________
On error no hago nada porque deje de fumar...
  #12 (permalink)  
Antiguo 07/05/2009, 15:17
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: me trabé con un array

Si es solo 1 arreglo prueba hacerlo asi:

Código PHP:
$data=(1=>$_GET['valor_1'],$_GET['valor_2'],$_GET['valor_3'],$_GET['valor_4'],$_GET['valor_5']); 
  #13 (permalink)  
Antiguo 07/05/2009, 18:58
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Respuesta: me trabé con un array

si pense en eso pero..
el arreglo puede ser asi
$data = array(1 => 40, 10);
o asi!!

$data = array(1 => 40, 10,20,30,40,60,30,56,45,777,45);

infinitos valores!
__________________
On error no hago nada porque deje de fumar...
  #14 (permalink)  
Antiguo 07/05/2009, 21:12
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: me trabé con un array

Serializa el array usando serialize() antes de enviarlo por GET. Y cuando lo recibas, usas unserialize().
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 17:11.