php simpleXMLElement to array: valor nulo
Tengo el siguiente XML:
<account>
<id>123</id>
<email></email>
<status>ACTIVE</status>
</account>
Quiero tenerlo como una variable de matriz. Por eso lo leo con$xml = simplexml_load_file()
. La forma más sencilla de convertir simpleXMLElement a una matriz asociativa que conozco es molerlo con:json_decode(json_encode((array) $xml),1);
El problema es que no quiero conseguir elemail
clave como una matriz vacía, sino más bien comoNULL
valor. Como SimpleXMLElement, parece que:
public 'email' =>
object(SimpleXMLElement)[205]
mientras que en la matriz se ve como:
'email' =>
array (size=0)
empty
Me gustaría obtener:
'email' => NULL
La única forma de lograr esto en la que pensé es iterar a través de todos los elementos y reemplazar la matriz vacía con un valor nulo. El problema es que mi XML es mucho más grande (arriba es solo para explicar el problema) y tendría que iterar muchos elementos XML (y esto sería trabajo manual, estoy buscando algo automático). Tal vez me estoy perdiendo algunas opciones en una de las funciones ... ¿o tal vez hay otro truco para hacer esto?