Foros del Web » Programando para Internet » PHP »

Convertir String a array

Estas en el tema de Convertir String a array en el foro de PHP en Foros del Web. ARME UNA CADENA DE ARRAY EN LA CUAL QUIERO SUMAR CIERTOS VALORES DE ESE MISMO ARRAY, ARMANDO EL ARRAY MANUEL ME SALE CORRECTO, PERO A ...
  #1 (permalink)  
Antiguo 24/10/2012, 13:56
 
Fecha de Ingreso: enero-2010
Mensajes: 47
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Convertir String a array

ARME UNA CADENA DE ARRAY EN LA CUAL QUIERO SUMAR CIERTOS VALORES DE ESE MISMO ARRAY, ARMANDO EL ARRAY MANUEL ME SALE CORRECTO, PERO A LA HORA DE HACERLO STRING NO ME DA EL MISMO RESULTADO:

**ESTE ES EL ARRAY MANUEL Y ME SALE CORRECTO CADA SABOR ME LO SEPARA**
$miArray = array(array ('sabor' => CHOCOLATE, 'mezclas' => 3.5),array ('sabor' => VAINILLA, 'mezclas' => 4),
array ('sabor' => 'VAINILLA', 'mezclas' => 4),array ('sabor' => 'VAINILLA', 'mezclas' => 4),
array ('sabor' => 'CHOCOLATE', 'mezclas' => 3.5)
);


**Y CON LA CADENA KE ARMO ME SALE SOLO UN RESULTADO QUE ES TODA LA CADENA, NO ME SEPARA POR SABOR**
$cadena = "array ('sabor' => 'CHOCOLATE', 'mezclas' => 3.5),array ('sabor' => 'VAINILLA', 'mezclas' => 4),
array ('sabor' => 'VAINILLA', 'mezclas' => 4),array ('sabor' => 'VAINILLA', 'mezclas' => 4),
array ('sabor' => 'CHOCOLATE', 'mezclas' => 3.5)";

$miArray2 = array($cadena);


print_r($miArray);
print_r($miArray2);

RESULTADO DEL PRIMER PRINT_R CORRECTO:
Array ( [0] => Array ( [sabor] => CHOCOLATE [mezclas] => 3.5 ) [1] => Array ( [sabor] => VAINILLA [mezclas] => 4 ) [2] => Array ( [sabor] => VAINILLA [mezclas] => 4 ) [3] => Array ( [sabor] => VAINILLA [mezclas] => 4 ) [4] => Array ( [sabor] => CHOCOLATE [mezclas] => 3.5 ) )


RESULTADO DEL SEGUNDO PRINT_R INCORRECTO:
Array ( [0] => array ('sabor' => 'CHOCOLATE', 'mezclas' => 3.5),array ('sabor' => 'VAINILLA', 'mezclas' => 4), array ('sabor' => 'VAINILLA', 'mezclas' => 4),array ('sabor' => 'VAINILLA', 'mezclas' => 4), array ('sabor' => 'CHOCOLATE', 'mezclas' => 3.5) )

ALGUIEN SABE COMO CONVERTIREL STRING PARA QUE ME SEPARE CORRECTAMENTE EL ARRAY
  #2 (permalink)  
Antiguo 24/10/2012, 14:05
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Convertir String a array

Creo que lo que buscas es esto http://php.net/manual/es/function.explode.php

explode(), parte una cadena string en un array, tomando en cuenta un separador que se le pasa como parametro a la función, conodico como delimiter.
  #3 (permalink)  
Antiguo 24/10/2012, 14:13
 
Fecha de Ingreso: enero-2010
Mensajes: 47
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Convertir String a array

pero si te fijas el array es diferente:

RESULTADO DEL PRIMER PRINT_R CORRECTO:
Array ( [0] => Array ( [sabor] => CHOCOLATE


RESULTADO DEL SEGUNDO PRINT_R INCORRECTO:
Array ( [0] => array ('sabor' => 'CHOCOLATE'

quiero ke me kede como el primero, estaba leyendo una manera de convertir el string para que me lo reconosca el array.
  #4 (permalink)  
Antiguo 24/10/2012, 15:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Convertir String a array

Tienes serios problemas de concepto, tu primer ejemplo es correcto porque es la representación real en código del array, es un array.

El segundo código es la misma representación del array, pero dentro de una cadena, por ende no es un array sino un string.

¿Entiendes la diferencia?

Si fuera una cadena sencilla podrías separar los datos con explode, pero no lo es, ¿cómo es que tienes dicha cadena así?

El primer error lo has cometido al guardar dicho array y cargarlo como string, cuando pudiste serializarlo y después deserializarlo para convertirlo en un array, formas hay muchas pero ya comenzaste mal.

Ahora, ¿por donde vas a comenzar a solucionar tu problema?

No tengo idea, pero si te atoras en algo nos avisas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: string
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:33.