php simpleXMLElement для массива: нулевое значение

У меня есть следующий XML:

<account>
    <id>123</id>
    <email></email>
    <status>ACTIVE</status>
</account>

Я хочу иметь его в качестве переменной массива. Поэтому я читаю это с$xml = simplexml_load_file(), Самый простой способ преобразовать simpleXMLElement в ассоциативный массив, который я знаю, - это перемолоть его:json_decode(json_encode((array) $xml),1);

Проблема в том, что я не хочу получатьemail ключ как пустой массив, а скорее какNULL стоимость. Как SimpleXMLElement, это выглядит так:

public 'email' => 
    object(SimpleXMLElement)[205]

тогда как в массиве это выглядит так:

'email' => 
    array (size=0)
      empty

Я хотел бы получить:

'email' => NULL

Единственный способ добиться этого, о котором я думал, - это перебрать все элементы и заменить пустой массив нулевым значением. Проблема в том, что мой XML намного больше (выше, просто для объяснения проблемы), и мне пришлось бы перебирать много элементов XML (и это будет ручная работа - я ищу что-то автоматическое). Может быть, мне не хватает некоторых опций в одной из функций ... или, может быть, есть другой трюк для этого?

Ответы на вопрос(3)

Ваш ответ на вопрос