Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mehrdimensionales Array durchsuchen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Mehrdimensionales Array durchsuchen

    Hallo zusammen,

    ich bekomme es einfach nicht hin und wende mich deshalb an euch.

    Ich sitze seit ein paar Tagen an einem Script welches Daten von einem Exchange-Server aus den Postfächern ausliest und anschließend in ein Array schreibt.

    Das Array sieht nach dem auslesen des Kalenders für das aktuelle Jahr wie folgt aus:

    PHP-Code:
    stdClass Object
    (
        [
    ResponseMessages] => stdClass Object
            
    (
                [
    FindItemResponseMessage] => stdClass Object
                    
    (
                        [
    ResponseCode] => NoError
                        
    [ResponseClass] => Success
                        
    [RootFolder] => stdClass Object
                            
    (
                                [
    Items] => stdClass Object
                                    
    (
                                        [
    CalendarItem] => Array
                                            (
                                                [
    0] => stdClass Object
                                                    
    (
                                                        [
    ItemId] => stdClass Object
                                                            
    (
                                                                [
    Id] => AQMkAGY1YTgxYzFmLWU5MzYtNDdhMy04Y2JlLTJlNTc5ZDFkNWJkYgBGAAADwc7AJnrozEaQAVq7EytkrwcAuroAz3IZHn1NsMwzpM5GHe0AAANSAAAA1SneLwA8KEybDqX5HMt7BgAM8MySpgAAAA==
                                                                [
    ChangeKey] => DwAAABQAAAAS//4sZyXbQIBSzvkQGI7aAAKQNw==
                                                            
    )

                                                        [
    Subject] => Termin-Betreff // Testeintrag
                                                        
    [HasAttachments] => 
                                                        [
    Start] => 2014-02-27T23:00:00Z
                                                        
    [End] => 2014-02-28T23:00:00Z
                                                        
    [LegacyFreeBusyStatus] => Free
                                                        
    [Location] => 
                                                        [
    CalendarItemType] => Single
                                                        
    [Organizer] => stdClass Object
                                                            
    (
                                                                [
    Mailbox] => stdClass Object
                                                                    
    (
                                                                        [
    Name] => Test Benutzer
                                                                    
    )

                                                            )

                                                    )... [
    CalendarItemläuft weiter bis 344 Einträge 
    Ich möchte nun gerne aus diesem Array ein neues Array erstellen in dem nur die CalendarItems stehen, wo bei [subject] das Wort "Termin-Betreff" drin vorkommt. Habe es schon mir vielen Techniken ausprobiert. Aber entweder bin ich zu doof, oder aber die ganzen Verschachtelungen überfordern mich einfach.

    Hat hier vielleicht jemand den richtigen Ansatz für mich?

    Danke schonmal im Voraus.
    spezias


  • #2
    Ich würde das Array "CalendarItem" einfach per foreach durchgehen und dann
    jeweils prüfen, ob "Subject" = "Termin-Betreff" ist (bzw per stripos falls es auch
    nur ein Teil des Subjects sein kann / soll) und wenn ja, das ganze in ein neues
    Array packen in dem dann halt nur die "Treffer" drin sind.

    Bzw, falls du das so versucht hast, wo genau ist da dein Problem?

    Kommentar


    • #3
      Rekursion
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Ich würde an deiner Stelle den Vorschlag von WTB umsetzen.

        Zitat von spezias Beitrag anzeigen
        oder aber die ganzen Verschachtelungen überfordern mich einfach.
        Da reduzier doch dein Konstrukt im ersten Schritt auf das Array "CalendarItem" :
        PHP-Code:
        $CalendarItems $data->ResponseMessages->FindItemResponseMessage->RootFolder->Items->CalendarItems
        Hier sollten jetzt noch alle benötigten Informationen vorhanden sein. Gib $CalendarItems testweise aus, um dies zu prüfen.
        PHP-Klassen auf github

        Kommentar


        • #5
          Ahh, jetzt gehts. Erstmal Danke für die Richtungsweisungen. Die Reduzierung hat mich letztendlich weitergebracht. Aber der ursprüngliche Fehler, auf den ich erst eben zufällig aufmerksam geworden bin, ist der unterschied zwischen einem Array und einem stdClass Objekt. Die werden ja unterschiedlich behandelt z.B. bei der Ausgabe.

          Deswegen habe ich, egal was ich versucht habe, nie eine Ausgabe bekommen.

          Wieder etwas gelernt.

          Danke!

          Kommentar

          Lädt...
          X