Heim >Backend-Entwicklung >PHP-Tutorial >Wie konvertiere ich ein SimpleXML-Objekt in ein Array in PHP?

Wie konvertiere ich ein SimpleXML-Objekt in ein Array in PHP?

Susan Sarandon
Susan SarandonOriginal
2024-10-27 02:42:031001Durchsuche

How to Convert a SimpleXML Object to an Array in PHP?

Ein SimpleXML-Objekt in ein Array konvertieren

Frage

Wie kann ich ein SimpleXML-Objekt effizient und robust in ein Array konvertieren? Der bestehende Ansatz unter Verwendung der Funktionen json_decode() und json_encode() scheint hackig zu sein.

Antwort

Erwägen Sie die Verwendung der im PHP-Handbuch bereitgestellten xml2array-Funktion:

<code class="php">function xml2array($xmlObject, $out = array())
{
    foreach ((array)$xmlObject as $index => $node)
        $out[$index] = (is_object($node)) ? xml2array($node) : $node;

    return $out;
}</code>

Dies Die Funktion konvertiert das SimpleXML-Objekt rekursiv in ein Array und behält dabei seine Struktur und Werte bei.

Hinweis

Es ist jedoch wichtig zu beachten, dass die Konvertierung von XML in ein Array einen gewissen Datenverlust mit sich bringt, während dies bei Attributen nicht der Fall ist beim Umbau erhalten geblieben. Wenn daher eine Roundtrip-Funktionalität (Rückkonvertierung in XML) erforderlich ist, sollten Sie die Verwendung eines alternativen Ansatzes in Betracht ziehen, der Attribute beibehält.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein SimpleXML-Objekt in ein Array in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn