Array zerlegen - > children:ProtocolNode:private

Hallo,

ich versuche gerade ein Array im Array zu zerlegen aber ich bekomme es nicht hin.

Evtl kann mir ja jemand mal einen Denkanstoss geben.

So zieht das Array aus:


Array
(
    [0] => ProtocolNode Object
        (
            [tag:ProtocolNode:private] => message
            [attributeHash:ProtocolNode:private] => Array
                (
                    [from] => 
                    [id] => 
                    [type] => 
                    [t] => 
                )

            [children:ProtocolNode:private] => Array
                (
                    [0] => ProtocolNode Object
                        (
                            [tag:ProtocolNode:private] => notify
                            [attributeHash:ProtocolNode:private] => Array
                                (
                                    [xmlns] => 
                                    [name] => 
                                )

                            [children:ProtocolNode:private] => 
                            [data:ProtocolNode:private] => 
                        )
usw.

Wie komm ich da ran? Ich habe schon etwas mit foreach probiert aber ich scheitere an den Namen mit den Doppelpunkten = tag:ProtocolNode:private


echo $x[0]->{'tag:ProtocolNode:private'};

Könnte so klappen :slight_smile:

paresy

Mh neee mist…

Notice: Undefined property: ProtocolNode::$tag:ProtocolNode:private

oder ist das ein xml?

Hallo,

ich verstehe leider noch nicht welchen Teil du haben willst, oder wie die Ausgabe aussehen soll?

Schöne Grüße
Thomas

Ahh ich habe es :smiley:

foreach($msgs as $m){
       $attri = $m->getAttributes();
       $from = str_replace("@s.whatsapp.net", "",$attri['from']);
       $time = date("m/d/Y H:i",$attri['t']);
       foreach (($m->getChildren()) as $child) {
               if (($child->getTag()) == "body")
                    {
                   $body = $child->getData();
               }
               else if (($child->getTag()) == "notify")
                    {
                   $name = $child->getAttribute('name');
               }
        }
    }

Es gab noch extra Funktionen dazu.

Ich werde mein Script mal vorstellen…