Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Extraer información de un array en especifico

Estas en el tema de Extraer información de un array en especifico en el foro de PHP en Foros del Web. Saludos a todos, me toca pedir ayuda que me he enfrascado en una situación de arrays, ya que desconozco bastante del tema. Tengo una variable ...
  #1 (permalink)  
Antiguo 03/02/2016, 11:20
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 11 meses
Puntos: 39
Pregunta Extraer información de un array en especifico

Saludos a todos, me toca pedir ayuda que me he enfrascado en una situación de arrays, ya que desconozco bastante del tema.

Tengo una variable session con lo siguiente:

Código:
array(2) { 
 	[1]=> array(7) { 
 		["id"]=> int(1) 
 		["nombre"]=> string(4) "Hola" 
 		["producto"]=> string(2) "57" 
 		["total"]=> string(4) "$500" } 
 	[2]=> array(7) { 
 		["id"]=> int(2) 
 		["nombre"]=> string(8) "b4nombre" 
 		["producto"]=> string(1) "4" 
 		["total"]=> string(7) "$300.00" } 
 		
 		}
Y en una página necesito recuperar de dicho array 'global', unicamente el array con id = 2 que contiene al producto "b4nombre". Ya que quiero colocar en un input el valor de "nombre". ¿Cómo es eso posible?

En resumen, quiero hacer algo así si fuera con SQL:

"SELECT * FROM array WHERE id = 2".

Saludos :D
  #2 (permalink)  
Antiguo 03/02/2016, 11:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Extraer información de un array en especifico

Tendrás que usar array_filter() y un callback para eso, consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/02/2016, 13:57
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 11 meses
Puntos: 39
Respuesta: Extraer información de un array en especifico

Me he leído el manual y no logro dar con la solución para un array como el que tengo, creo que los ejemplos se quedan cortos. Podrías orientarme mucho más? Se agradece
  #4 (permalink)  
Antiguo 03/02/2016, 21:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Extraer información de un array en especifico

La función que te recomiendan usar, itera al array utilizando una llamada de retorno en la cual se evalúa cada elemento del mismo. Ya sea que uses cualquiera de las funciones de arrays de PHP que te permitan evaluar a sus elementos o con una estructura cíclica, lo que tendrás que hacer será evaluar a cada valor de cada array y cuando encuentres al que estás buscando, devuelves ya sea al array que contiene a dichos datos o a los datos específicos.

Código PHP:
Ver original
  1. function busqueda($aguja, $pajar){
  2.     foreach ($pajar as $hijo){
  3.         if (strcasecmp($hijo['name'], $aguja) == 0){ //Si se encuentra el valor
  4.             return $hijo;
  5.         }
  6.     }
  7.     return 'No se encontró el dato';
  8. }
  9.  
  10. $array = [
  11.     ['id' => '1133', 'name' => 'Patty'], //Array hijo 1
  12.     ['id' => '4574', 'name' => 'Mary'], //Array hijo 2
  13.     ['id' => '0535', 'name' => 'Annie'] //Array hijo N
  14. ];
  15.  
  16. busqueda('Mary', $array); //Retorna: ['id' => '4574', 'name' => 'Mary']
  17. busqueda('Erick', $array); //Retorna: 'No se encontró el dato'

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
  #5 (permalink)  
Antiguo 03/02/2016, 23:18
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 11 meses
Puntos: 39
Respuesta: Extraer información de un array en especifico

Muy bien Alexis! Ahora sí que funciona, tomo el dato pasado por GET y eso coloco en el if que tienes en el ejemplo, en la iteración que encuentre dicho parametro me devuelve los datos y con eso lo demás sale solito.

Gracias de nuevo, que paciencia la tuya

Etiquetas: especifico, select, sql, variable
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:23.