次の 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
私が考えたこれを達成する唯一の方法は、すべての要素を繰り返し処理し、空の配列を null 値に置き換えることです。問題は、私の XML がかなり大きく (上記は問題を説明するためのものです)、多くの XML 要素を反復処理する必要があることです (これは手動の作業になります。自動化されたものを探しています)。関数の 1 つでいくつかのオプションが欠落している可能性があります... または、これを行うための別のトリックがあるのでしょうか?