Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mostrar y Separar Contenido de Un Array

Estas en el tema de Mostrar y Separar Contenido de Un Array en el foro de PHP en Foros del Web. Estimados como puedo hacer para mostrar los contenidos de un array (para luego meterlos en una base de datos) Lo que quiero es mas menos ...
  #1 (permalink)  
Antiguo 05/02/2016, 13:36
 
Fecha de Ingreso: marzo-2014
Mensajes: 56
Antigüedad: 10 años, 1 mes
Puntos: 1
Mostrar y Separar Contenido de Un Array

Estimados como puedo hacer para mostrar los contenidos de un array (para luego meterlos en una base de datos)

Lo que quiero es mas menos lo siguiente

Código PHP:

print_r
(json_encode$_SESSION['carro']));

Lo que muestra como contenido 
Código HTML:
{"26":401,"27":1}


La idea que la cadena quede de la siguiente forma (la cadena que pienso meter a la Base de datos) 26:401 ; 27:1

Saludos y gracias por su ayuda
  #2 (permalink)  
Antiguo 05/02/2016, 13:44
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Mostrar y Separar Contenido de Un Array

holas, supongo que puedes usar explode() para separarlos. ejemplo tomado del manual:

Código PHP:
Ver original
  1. // Ejemplo 1
  2. $pizza  = "porción1 porción2 porción3 porción4 porción5 porción6";
  3. $porciones = explode(" ", $pizza);
  4. echo $porciones[0]; // porción1
  5. echo $porciones[1]; // porción2
  6. echo $porciones[0] . " : " . $porciones[1]; // porcion1 : porcion2

es una idea para empezar.

explode()
  #3 (permalink)  
Antiguo 05/02/2016, 13:52
 
Fecha de Ingreso: marzo-2014
Mensajes: 56
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Mostrar y Separar Contenido de Un Array

Cita:
Iniciado por leonagelic Ver Mensaje
holas, supongo que puedes usar explode() para separarlos. ejemplo tomado del manual:

Código PHP:
Ver original
  1. // Ejemplo 1
  2. $pizza  = "porción1 porción2 porción3 porción4 porción5 porción6";
  3. $porciones = explode(" ", $pizza);
  4. echo $porciones[0]; // porción1
  5. echo $porciones[1]; // porción2
  6. echo $porciones[0] . " : " . $porciones[1]; // porcion1 : porcion2

es una idea para empezar.

explode()

Lo intente, pero como $_SESSION['carro'] no es fijo, no me sirve hacer un ciclo for o foreach

La idea que el Array quede en una sola linea de texto y pueda ingresarse a la base de datos pero no hallo como separarlo :(
  #4 (permalink)  
Antiguo 05/02/2016, 14:01
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Mostrar y Separar Contenido de Un Array

consulta esta funcion para ver si es algo mas o menos como lo que buscas: usort
  #5 (permalink)  
Antiguo 05/02/2016, 14:58
 
Fecha de Ingreso: marzo-2014
Mensajes: 56
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Mostrar y Separar Contenido de Un Array

Cita:
Iniciado por leonagelic Ver Mensaje
consulta esta funcion para ver si es algo mas o menos como lo que buscas: usort
nop :(

Lo que quiero es que el array quede algo así

de esto {"26":401,"27":1}

a esto

26:401:27;1:
  #6 (permalink)  
Antiguo 05/02/2016, 15:30
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mostrar y Separar Contenido de Un Array

Puedes utilizar funciones de reemplazo en cadenas:
Código PHP:
Ver original
  1. echo str_replace(',', '; ', str_replace(['{', '}', '"'], '', $tuObjetoJSON));

O una estructura repetitiva que recorra al array (sin convertirlo en objeto) y una cada par clave-valor en un array cuyos valores serán impresos uniéndolos mediante puntos y comas.

Código PHP:
Ver original
  1. $salida = [];
  2. foreach ($tuArray as $clave => $valor) $salida[] = "$clave:$valor";
  3. echo implode('; ', $salida);

Para el array que pones de ejemplo, en ambos casos el resultado será el siguiente:
Código HTML:
Ver original
  1. 26:401; 27:1

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 08/02/2016, 08:36
 
Fecha de Ingreso: marzo-2014
Mensajes: 56
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Mostrar y Separar Contenido de Un Array

Cita:
Iniciado por Alexis88 Ver Mensaje
Puedes utilizar funciones de reemplazo en cadenas:
Código PHP:
Ver original
  1. echo str_replace(',', '; ', str_replace(['{', '}', '"'], '', $tuObjetoJSON));

O una estructura repetitiva que recorra al array (sin convertirlo en objeto) y una cada par clave-valor en un array cuyos valores serán impresos uniéndolos mediante puntos y comas.

Código PHP:
Ver original
  1. $salida = [];
  2. foreach ($tuArray as $clave => $valor) $salida[] = "$clave:$valor";
  3. echo implode('; ', $salida);

Para el array que pones de ejemplo, en ambos casos el resultado será el siguiente:
Código HTML:
Ver original
  1. 26:401; 27:1

Un saludo

Gracias !!!
  #8 (permalink)  
Antiguo 08/02/2016, 15:10
 
Fecha de Ingreso: febrero-2016
Mensajes: 1
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Mostrar y Separar Contenido de Un Array

No te enrolles tanto compañero

echo json_encode($_SESSION['carro'], JSON_NUMERIC_CHECK);

Saludos..!!
  #9 (permalink)  
Antiguo 09/02/2016, 13:58
 
Fecha de Ingreso: marzo-2014
Mensajes: 56
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Mostrar y Separar Contenido de Un Array

Lo que no he podido es agregarle una función al primer dígito que da el resultado

functionalgunacosa(26):70; functionalgunacosa(27):200

Última edición por KalSmith; 09/02/2016 a las 14:04
  #10 (permalink)  
Antiguo 09/02/2016, 17:08
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Mostrar y Separar Contenido de Un Array

y por qué eso no lo concatenas donde usarás el array?

Etiquetas: contenido, html
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:53.