我有以下 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 元素(这将是手动工作 - 我正在寻找自动的东西)。也许我在其中一个功能中遗漏了一些选项......或者也许还有另一个技巧可以做到这一点?