Foros del Web » Programando para Internet » PHP »

Problemas para extrar información de un array

Estas en el tema de Problemas para extrar información de un array en el foro de PHP en Foros del Web. Hola! Bueno pues nada al lío: Llevo rompiendome la cabeza durane toda la tarde sobre algo a lo que no encuentro solución Primero que nada ...
  #1 (permalink)  
Antiguo 02/04/2011, 10:43
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 1
Problemas para extrar información de un array

Hola! Bueno pues nada al lío:
Llevo rompiendome la cabeza durane toda la tarde sobre algo a lo que no encuentro solución

Primero que nada uso wordpress, aunque en realidad es irrelevante.

Tengo un array cuyos valores se depositan de esta forma:

Código:
a:3:{i:2;s:10:"user_likes";i:8;s:10:"user_likes";i:1;s:10:"user_likes";}
...y así sucesivamente

Lo que quiero es extraer el valor de "i" de cada array.

Ejemplo

Código:
Id = 2
Id = 8
Id = 1
Espero haberme explicado bien, un saludo! y gracias de antemano.
  #2 (permalink)  
Antiguo 02/04/2011, 10:58
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: Problemas para extrar información de un array

Ese array esta serializado, puedes deserializarlo y te mostrar su estructura original:
Código PHP:
Ver original
  1. <?php
  2.  
  3. $string = 'a:3:{i:2;s:10:"user_likes";i:8;s:10:"user_likes";i:1;s:10:"user_likes";}';
  4. print_r(unserialize($string));
  5.  
  6. ?>
Cita:
Array ( [2] => user_likes [8] => user_likes [1] => user_likes )
Ya con eso, solo recoges los keys de cada elemento en el array
  #3 (permalink)  
Antiguo 02/04/2011, 11:33
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 1
Vale, ya lo tengo pero nose si esta del todo bien, quizás se pueda hacer de una forma más eficiente:

Código:
	$sql_lista_like = "SELECT * FROM $wpdb->postmeta WHERE meta_key = 'liked_count' AND post_id = $page_id";
	$lista_like = $wpdb->get_results($sql_lista_like);
	foreach($lista_like as $value) {
	$array = $value->meta_value;
	$array = unserialize($array);
	$array = array_keys($array);
		foreach($array as $id) {
		echo $id;
		}
	}
Aclarar que el "$wpdb->get_results" es una función de wordpress que te permite hacer una consult a la base de datos.

Espero tu respuesta, muchas gracias!

Bueno, si alguien cree que se puede hacer de una forma mejor a la que he puesto que me lo diga, que yo no tengo mucha idea!

Gracias!

Última edición por GatorV; 04/04/2011 a las 15:24

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 21:02.