Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich ein mehrdimensionales PHP-Array effizient in ein SimpleXML-Objekt konvertieren?

Wie kann ich ein mehrdimensionales PHP-Array effizient in ein SimpleXML-Objekt konvertieren?

Barbara Streisand
Freigeben: 2024-12-18 21:54:14
Original
970 Leute haben es durchsucht

How can I efficiently convert a multi-dimensional PHP array into a SimpleXML object?

Arrays in SimpleXML in PHP konvertieren

Bei der Arbeit mit XML-Daten in PHP kann es zur Vereinfachung erforderlich sein, Arrays in SimpleXML-Objekte zu konvertieren Verarbeitung und Manipulation.

Funktion für Array zu XML Konvertierung

Hier ist eine PHP-Funktion, die zum Konvertieren mehrdimensionaler Arrays in SimpleXML-Objekte verwendet werden kann:

function array_to_xml( $data, &$xml_data ) {
    foreach( $data as $key => $value ) {
        if( is_array($value) ) {
            if( is_numeric($key) ){
                $key = 'item'.$key; //dealing with <0/>..<n/> issues
            }
            $subnode = $xml_data->addChild($key);
            array_to_xml($value, $subnode);
        } else {
            $xml_data->addChild("$key",htmlspecialchars("$value"));
        }
     }
}
Nach dem Login kopieren

Beispielverwendung

Betrachten Sie das folgende Array:

$data = array('total_stud' => 500,
    'student' => array(
        0 => array(
            'id' => 1,
            'name' => 'abc',
            'address' => array(
                'city' => 'Pune',
                'zip' => '411006'
            )
        ),
        1 => array(
            'id' => 2,
            'name' => 'xyz',
            'address' => array(
                'city' => 'Mumbai',
                'zip' => '400906'
            )
        )
    )
);
Nach dem Login kopieren

Um dieses Array in XML zu konvertieren, können Sie ein erstellen SimpleXMLElement-Objekt:

$xml_data = new SimpleXMLElement('<?xml version="1.0"?><student_info></student_info>');
Nach dem Login kopieren

Dann rufen Sie die Funktion array_to_xml auf:

array_to_xml($data, $xml_data);
Nach dem Login kopieren

Dadurch wird das folgende XML generiert:

<?xml version="1.0"?>
<student_info>
    <total_stud>500</total_stud>
    <student>
        <id>1</id>
        <name>abc</name>
        <address>
            <city>Pune</city>
            <zip>411006</zip>
        </address>
    </student>
    <student>
        <id>1</id>
        <name>abc</name>
        <address>
            <city>Mumbai</city>
            <zip>400906</zip>
        </address>
    </student>
</student_info>
Nach dem Login kopieren

Sie können es dann speichern oder verarbeiten das generierte XML nach Bedarf.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage