Foros del Web » Programando para Internet » PHP »

Coger datos

Estas en el tema de Coger datos en el foro de PHP en Foros del Web. Hace poco tiempo creé este tema: http://www.forosdelweb.com/f18/coger-datos-1080494/ Ahora no tengo el mismo problema pero es relacionado, imaginen que tengo un código así: ["s","4946","pirate_g","46939","0","2","2","" ,"Plataforma Barco ...
  #1 (permalink)  
Antiguo 10/11/2013, 12:10
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 10 años, 11 meses
Puntos: 5
Coger datos

Hace poco tiempo creé este tema: http://www.forosdelweb.com/f18/coger-datos-1080494/

Ahora no tengo el mismo problema pero es relacionado, imaginen que tengo un código así:

["s","4946","pirate_g","46939","0","2","2","" ,"Plataforma Barco Pirata roto","Constrúyelo alto","","-1","-1","false","-1","-1","false","2.9","1","8","0","0","0"]
["s","4946","pirate_stage_g_2","46939","0","2","2", "" ,"Plataforma Barco Pirata azul","Constrúyelo alto","","-1","-1","false","-1","-1","false","0.9","23","1","0","0","0"]
["s","4946","pirate_stasdfe_g","46939","0","2","2", "" ,"Barco Pirata","alto","","-1","-1","false","-1","-1","true","0.9","1","1","8","0","0"]
["s","4946","pirate_stage_g","46939","0","2","2 ","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","3.9","1","1","0","0","0"]

Cada uno de ellos son diferentes por lo que yo únicamente quiero uno; este:

["s","4946","pirate_stage_g","46939","0","2","2 ","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","3.9","1","1","0","0","0"]

Y tengo este dato "pirate_stage_g" de entre todos.

Y la pregunta es, ¿cómo podría conseguir el trozo como este:

["s","4946","pirate_stage_g","46939","0","2","2 ","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","3.9","1","1","0","0","0"]

a partir de este dato "pirate_stage_g", en un código como este:

["s","4946","pirate_g","46939","0","2","2","" ,"Plataforma Barco Pirata roto","Constrúyelo alto","","-1","-1","false","-1","-1","false","2.9","1","8","0","0","0"]
["s","4946","pirate_stage_g_2","46939","0","2","2", "" ,"Plataforma Barco Pirata azul","Constrúyelo alto","","-1","-1","false","-1","-1","false","0.9","23","1","0","0","0"]
["s","4946","pirate_stasdfe_g","46939","0","2","2", "" ,"Barco Pirata","alto","","-1","-1","false","-1","-1","true","0.9","1","1","8","0","0"]
["s","4946","pirate_stage_g","46939","0","2","2 ","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","3.9","1","1","0","0","0"]

?

Muchas gracias
  #2 (permalink)  
Antiguo 10/11/2013, 22:27
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Coger datos

De preferencia, no hagas nuevos temas para una misma consulta, quien comenzó a ayudarte en el anterior tal vez también pueda hacerte una buena sugerencia sobre esta nueva pregunta.

Puedes buscar con expresiones regulares: http://www.forosdelweb.com/f18/aport...s-pcre-646110/

Hay otras opciones, pero todo depende de cómo estás obteniendo y manipulando la información.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 12/11/2013, 10:50
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 10 años, 11 meses
Puntos: 5
Respuesta: Coger datos

Lo siento por crear otro tema, es que como el otro lo puse en principio solucionado creí que no le haría caso nadie... He probado así:

Código PHP:
Ver original
  1. print_r(explode("/\[(.*?)\]/is", '["s","4946","pirate_stage_g","46939","0","2","2","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","0.9","1","1","0","0","0"]["s","4946","pirate_stage_g","46939","0","2","2","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","0.9","1","1","0","0","0"]'));

Pero me sale esto:

Cita:
Array ( [0] => ["s","4946","pirate_stage_g","46939","0","2","2 ","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","0.9","1","1","0","0","0"]["s","4946","pirate_stage_g","46939","0","2","2 ","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","0.9","1","1","0","0","0"] )
Y ese no es el resultado que busco, el resultado que busco sería este:

Cita:
Array ( [0] => "s","4946","pirate_stage_g","46939","0","2","2 ","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","0.9","1","1","0","0","0", [1] =>"s","4946","pirate_stage_g","46939","0","2","2", "" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","0.9","1","1","0","0","0" )
Aunque tampoco sería este el resultado expecífico porque debería tener el nombre de "pirate_stage_g" solo que es el que busco, solo tendría ese dato. El número de comas no cambia, osea que se podría hacer algo como '"(.*?)", "(.*?)", "(.*?)", "pirate_stage_g"' o algo así para que coja lo de dentro y pueda coger los datos a través de ese nombre.

No sé si me entienden... Muchas gracias por ayuadarme

Última edición por iEnrique; 12/11/2013 a las 10:58
  #4 (permalink)  
Antiguo 12/11/2013, 12:47
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Coger datos

No importa si marcaste como solucionado el tema o no, cada que tu respondes las personas que han participado reciben una notificación por ende se enteran y pueden brindarte mas ayuda, sumado a eso aparece en el foro en negrita indicando actividad.

bien para tu caso yo no usaría expresiones regulares, es mas simples si usas array_search()

haber si esto te ayuda a darte una idea
http://www.php.net/manual/es/function.array-search.php

Código PHP:
Ver original
  1. <?php
  2. $text = '["s","4946","pirate_g","46939","0","2","2","" ,"Plataforma Barco Pirata roto","Constrúyelo alto","","-1","-1","false","-1","-1","false","2.9","1","8","0","0","0"]["s","4946","pirate_stage_g_2","46939","0","2","2", "" ,"Plataforma Barco Pirata azul","Constrúyelo alto","","-1","-1","false","-1","-1","false","0.9","23","1","0","0","0"]["s","4946","pirate_stasdfe_g","46939","0","2","2", "" ,"Barco Pirata","alto","","-1","-1","false","-1","-1","true","0.9","1","1","8","0","0"]["s","4946","pirate_stage_g","46939","0","2","2 ","" ,"Plataforma Barco Pirata","Constrúyelo alto","","-1","-1","false","-1","-1","false","3.9","1","1","0","0","0"]';
  3. $d1 = explode('][',$text);
  4. foreach($d1 as $d1_v){
  5.     $d2 = explode('","',$d1_v);
  6.     if(array_search('pirate_g',$d2)){
  7.         print_r($d2);
  8.     }
  9. }
  10. ?>

Última edición por ArturoGallegos; 12/11/2013 a las 12:54
  #5 (permalink)  
Antiguo 14/11/2013, 12:55
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 10 años, 11 meses
Puntos: 5
Respuesta: Coger datos

Muchas gracias Arturo, me funciona
  #6 (permalink)  
Antiguo 14/11/2013, 13:20
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: Coger datos

¿Pero no son arreglos json? se podría pasar a un arreglo en php y buscar los datos de forma directa.

Etiquetas: coger
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 06:36.