Ankündigung

Einklappen
Keine Ankündigung bisher.

Arrays vergleichen

Einklappen

Neue Werbung 2019

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

  • Arrays vergleichen

    Hallo,
    habe ein Problem beim Vergleichen von Arrays. Habe in ein PHP -Script ein XML eingelesen, welche wie folgt aussieht (Ausschnitt):
    Code:
    <record ID="1" date="02.03.2010" time="00:10:59">
    <sensor ID="101" v="18.70"/>
    <sensor ID="103" v="10.50"/>
    <sensor ID="206" v="30.00"/>
    <sensor ID="501" v="24.33"/>
    <sensor ID="502" v="3.61"/>
    </record>
    −
    <record ID="1" date="02.03.2010" time="00:11:59">
    <sensor ID="101" v="18.60"/>
    <sensor ID="103" v="10.40"/>
    <sensor ID="206" v="30.00"/>
    <sensor ID="501" v="24.33"/>
    <sensor ID="502" v="3.61"/>
    </record>
    −
    <record ID="1" date="02.03.2010" time="00:12:59">
    <sensor ID="101" v="18.50"/>
    <sensor ID="102" v="23.30"/>
    <sensor ID="103" v="10.80"/>
    <sensor ID="201" v="26.30"/>
    <sensor ID="202" v="45.00"/>
    <sensor ID="203" v="231.00"/>
    <sensor ID="204" v="231.60"/>
    <sensor ID="205" v="15.50"/>
    <sensor ID="206" v="30.00"/>
    <sensor ID="301" v="12.90"/>
    <sensor ID="401" v="45.00"/>
    <sensor ID="402" v="353.00"/>
    <sensor ID="501" v="24.64"/>
    <sensor ID="502" v="3.57"/>
    <sensor ID="503" v="13.00"/>
    <sensor ID="504" v="73.83"/>
    <sensor ID="505" v="9.89"/>
    <sensor ID="506" v="11.27"/>
    <sensor ID="507" v="259.23"/>
    <sensor ID="508" v="0.00"/>
    <sensor ID="509" v="0.00"/>
    <sensor ID="510" v="0.00"/>
    <sensor ID="511" v="0.00"/>

    Nun will ich mittels Foreach alle Daten in eine Tabelle eintragen:
    PHP-Code:
     foreach($xml->record as $record
         {
         echo 
    "<td>".$record['ID']."</td><td>" .$record['date']."</td><td>".$record['time']."</td><td>";
          
         
              
         } 
    Das funktioniert auch ganz gut, nur hat das (z.B) Array1 manchmal die id 102 und manchmal 103.
    Meine Frage ist jetzt, wie in einer Spalte nur die Daten ausgeben bei denen das Attribut (z.B.) ID="102" ist? Ich habe keine Idee wie man das vergleichen kann, ein Ansatz von mir dafür ist:
    PHP-Code:
    if($record->sensor['ID']=='103')
         { 
         echo 
    $record->sensor[1]['v'] . "</td><td>"
    Ach und NEIN, ich kann die XML nicht abändern, die wird so automatisch erstellt in weiter Ferne.


  • #2
    Erstell doch einfach ein assoziatives Array mit ID als Schlüssel?

    Kommentar


    • #3
      Ja aber zeig mir das mal bitte anhand meines Problems

      Kommentar


      • #4
        Ja aber zeig mir das mal bitte anhand meines Problems
        *Lösung heisch*
        --

        „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


        • #5
          dann halt nicht

          Kommentar


          • #6
            Wenn Du Ansätze zeigst, helfen wir Dir gerne, aber wir posten ungern komplette Lösungen, weil dadurch auch nicht wirklich ein Lerneffekt erzielt wird!

            http://de.php.net/manual/de/book.array.php

            Wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              ja na hab ja meinen ansatz gepostet, mein neuer ansatz nach dem tipp mit dem assoziativen array lautet:
              PHP-Code:
                   if  ($record->sensor["ID"] == "103")
                     {
                     echo 
              $record->sensor['ID']['v'] . "</td><td>";
                     } 
              Also er soll all die ID's ausspucken, welche 103 sind.

              Kommentar


              • #8
                Wie soll $record->sensor["ID"] == "103" sein, wenn DU gleichzeitig unten $record->sensor["ID"] als Array auswertest!
                --

                „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


                • #9
                  Naja der Befehl soll lauten, wenn sonsor[id] 103 ist, dann setze das dazugehörige [v] (steht für value) in die Tabellenzelle.

                  Kommentar


                  • #10
                    Was es bedeuten soll ist mir klar. So geht es aber nicht.

                    http://www.php.de/php-einsteiger/489...rundlagen.html
                    --

                    „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


                    • #11
                      boah ich kann grundlagen, nur ist mein problem ich weis nicht wie ich formuliere, das nur die Elemente angezeigt werden wo die id 103 ist!
                      Sonst klappt sowas wie ich es hier formuliert habe, nur bei dem Array nicht.

                      Kommentar


                      • #12
                        boah ich kann grundlagen
                        Sieht man deutlich.
                        PHP-Code:
                             if  ($record->sensor["ID"] == "103")
                               {
                               echo 
                        $record->sensor['ID']['v'] . "</td><td>";
                               } 
                        --

                        „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


                        • #13
                          Wenn mir keiner helfen will dann schliesst den thread .

                          Kommentar


                          • #14
                            1:50 Studen Geduld. Das muss neuer Rekord sein
                            --

                            „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


                            • #15
                              Hab mir ja schon ne Menge Tutorials rund um Arrays angesehen, aber ich finde einfach nicht raus wie das geht, deswegen dachte ich mir, kann im Forum hier jemand helfen, ohne das weitere Tutorial-Links oder Bemerkungen kommen.

                              Kommentar

                              Lädt...
                              X