Mario: simplexml [@attributes] was bedeutet das @

Hi,

ich teste gerade ein wenig die simplexml Funktionen von PHP.

Dabei fällt mir auf das bei der print_r()-Ausgabe einer XML-Datei sowas da steht:

[@attributes] => Array
        (
            [a] => 1
            [b] => 2
            [c] => 3

)

Ich kann die Werte darin auch mit $ar = $ar['@attributes']; als Array aufrufen, aber seltsam erscheint mir das @ doch irgendwie.

Warum ist das @ vorhanden und was bedeutet es? Ist es, auch wenn es funktioniert, erlaubt das als Array-Schlüssel anzusprechen?

Mario

  1. echo $begrüßung;

    Warum ist das @ vorhanden und was bedeutet es?

    Es ist ein Zeichen. Da es im XML-Kontext nicht als http://de.selfhtml.org/xml/dtd/bearbeitungsregeln.htm#namen@title=Bezeichnerbestandteil verwendet werden kann und die Attribute-Auflistung nicht mit einem Bezeichner namens attributes kollidieren soll (anzunehmenderweise) hat man sich sicher für die Verwendung des @ enschieden - so meine Interpretation.

    Ist es, auch wenn es funktioniert, erlaubt das als Array-Schlüssel anzusprechen?

    Jeder beliebige PHP-String kann als Array-Key Verwendung finden.
    Vergleiche: http://de.php.net/manual/en/language.types.array.php

    echo "$verabschiedung $name";