¡Hola Amigos!
Encontré en el curso de mis viajes, que los objetos obtenidos con la función simplexml_load_file de php no pueden ser serializados.
Para solucionar eso, encontré esta función de PHP, que va a solucionar sus problemas.
function objectsIntoArray($arrObjData, $arrSkipIndices = array()) {
$arrData = array();
// if input is object, convert into array
if (is_object($arrObjData)) {
$arrObjData = get_object_vars($arrObjData);
}
if (is_array($arrObjData)) {
foreach ($arrObjData as $index => $value) {
if (is_object($value) || is_array($value)) {
$value = objectsIntoArray($value, $arrSkipIndices); // recursive call
}
if (in_array($index, $arrSkipIndices)) {
continue;
}
$arrData[$index] = $value;
}
}
return $arrData;
}
Esto puede ser utilizado de la siguiente manera:
$xmlObject = simplexml_load_file("http://twitter.com/statuses/user_timeline/droope123.xml?count=1"); // serializar esto me daría errores de nodo no existente, o algo asi.
$xmlArray = objectsIntoArray($xmlObject);
$serializedXml = serialize($xmlArray);
print_r(unserialize($serializedXml)); // oh, alegría : D
¡Espero que les sea de utilidad!
Un saludo,
Pedro
Like this:
Like Loading...