Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Shell Root en 12 Agosto 2011, 04:37 am



Título: Extraer datos con estructura
Publicado por: Shell Root en 12 Agosto 2011, 04:37 am
Mi idea es tener una array con los datos que quiera obtener, y esos buscarlos en la cadena que obtengo de la petición y meterlos en otro vector.
Código
  1.  # Datos obtenidos.
  2.  $oData = '{"id":"1249242","name":"Alex Jurado","gender":"male","picture":"http:\/\/profile.ak.fbcdn.net\/hprofile-ak-snc4\/174534_1249240772_7038143_q.jpg"}';
  3.  
  4.  #Opciones que quiero extraer.
  5.  $oOpc  = array( 'id','name','gender','picture' );



Por el momento lo solucione así, pero se puede arreglar mucho más.
Código
  1. $oCharacters = '/({|}|:|"|id|name|gender|picture)/';
  2. $oString     = '';
  3.  
  4. $oString = preg_replace( $oCharacters, '', $pString );
  5. $oString = preg_split('/,/', $oString);
  6. return $oString;


Título: Re: Extraer datos con estructura
Publicado por: ~ Yoya ~ en 12 Agosto 2011, 05:51 am
No es necesario parsearlo.

Código
  1. $oData = '{"id":"1249242","name":"Alex Jurado","gender":"male","picture":"http:\/\/profile.ak.fbcdn.net\/hprofile-ak-snc4\/174534_1249240772_7038143_q.jpg"}';

Eso es Json (http://es.wikipedia.org/wiki/JSON)...

json_decode() (http://www.php.net/manual/es/function.json-decode.php)


Título: Re: Extraer datos con estructura
Publicado por: [u]nsigned en 12 Agosto 2011, 13:52 pm
Código
  1. <?php
  2. $oData = '{"id":"1249242","name":"Alex Jurado","gender":"male","picture":"http:\/\/profile.ak.fbcdn.net\/hprofile-ak-snc4\/174534_1249240772_7038143_q.jpg"}';
  3.  
  4. $nData = (object)json_decode($oData);
  5.  
  6. echo $nData->id;
  7. ?>

Por comodidad y seguridad fuerzo que $nData sea un objecto.

Saludos