Ankündigung

Einklappen
Keine Ankündigung bisher.

foreach in php5.3

Einklappen

Neue Werbung 2019

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

  • foreach in php5.3

    Hallo,
    der Code funktioniert in php < 5.2, leider nicht mehr in der 5.3 (.3). Es wird die erste Zeile im Ausschnitt als Fehler gemeldet:

    Warning: Invalid argument supplied for foreach() in xxxx/viewshomeview.pdf.php
    on line
    125

    Ausschnitt:
    PHP-Code:
    foreach ($result as $reports)
        {//echo $reports->id;
          $displays = $display[$reports->id];
        //  print_r($displays);
        if (!$displays) {
          $displays->data1 = 1;
          $displays->image = 1;
          $displays->address = 1;
          $displays->date1 = 1;
          //$displays->date2 = 1;
          //$displays->date3 = 1;
          $displays->summary = 1;
          //$displays->boss = 1;
          //$displays->people = 1;
          //$displays->department = 1;
          $displays->desc = 1;
        }
            $curTime = strtotime($reports->date1);
            $curMonth = date('M', $curTime);
            if ($curMonth != $prevMonth)
            {
                ?><br /><br /><table border="1" width="800"><tr><td colspan="4" width="140%" align="left" bgcolor="#c0c0c0"><?php    echo 'Monat '.strftime('%B'$curTime);
                
    ?></td></tr><tr><td width="28%" align="left" bgcolor="#DDDDDD"><FONT COLOR=BLACK FACE="Geneva, Arial" SIZE=-4><B>Nr.</B></FONT></td><td width="100%" align="left" bgcolor="#DDDDDD"><FONT COLOR=BLACK FACE="Geneva, Arial" SIZE=-4><B>Alarmierung</B></FONT></td><td width="160%" colspan="2"  align="left" bgcolor="#DDDDDD"><FONT COLOR=BLACK FACE="Geneva, Arial" SIZE=-4><B>Einsatzbeschreibung</B></FONT></td><td  align="left" bgcolor="#DDDDDD"></td><td width="440%" align="left" bgcolor="#DDDDDD"><FONT COLOR=BLACK FACE="Geneva, Arial" SIZE=-4><B>Kurzbericht</B></FONT></td></tr><?php
             $prevMonth 
    $curMonth;
            }

            
    $rSummary $reports->summary;
             
    $rSummarys strlen($rSummary) > 35 substr($rSummary035).'...' $rSummary;
            
    $rAddresses $reports->address;
             
    $rAddresses strlen($rAddresses) > 35 substr($rAddresses035).'...' $rAddresses;         
            
    $ActCount count($result) - $i;
            
    ?><tr><td width="28%" align="left"><FONT COLOR=BLACK FACE="Geneva, Arial" SIZE=-4><?php echo $ActCount;?></FONT></td><td width="100%" align="left"><FONT COLOR=BLACK FACE="Geneva, Arial" SIZE=-4><?php echo date('d.m.Y H:i'$curTime)?></FONT></td><td width="160%" align="left"><FONT COLOR=BLACK FACE="Geneva, Arial" SIZE=-4><?php
            
    echo $displays->data1!=$reports->data1 '';        
            
    ?></FONT></td><td width="440%" align="left"><FONT COLOR=BLACK FACE="Geneva, Arial" SIZE=-4><?php echo $displays->summary $rSummarys ''; echo ', '; echo $displays->address $rAddresses '';
            
    ?></FONT></td><?php 
                
    ++$i;
                
    ?></tr><?php
            
    }

    Wäre schön wenn mir jmd helfen könnte.

    Danke
    Jan

  • #2
    Dann wird $result wohl falsch zugewiesen und ist kein Array.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Lass dir mal $results VOR der Schleife mit var_dump() ausgeben!

      Kommentar


      • #4
        Schalt das Error-Reporting auch bitte hoch auf E_ALL | E_STRICT. Vermutlich ist vorher schon ein Fehler passiert. Darueber, dass sich bei foreach() in PHP 5.3 etwas geaendert hat, weiss ich nichts.
        "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

        Kommentar


        • #5
          Hallo,
          das ist die Ausgabe:

          NULL
          Warning: Invalid argument supplied for foreach() in xxxx/viewshomeview.pdf.php
          on line
          126


          Jan

          Kommentar


          • #6
            Zitat von jbd Beitrag anzeigen
            Hallo,
            das ist die Ausgabe:

            NULL
            Warning: Invalid argument supplied for foreach() in xxxx/viewshomeview.pdf.php
            on line
            126


            Jan
            Ja und?

            $result ist NULL und kein Array. Da wir aber nicht sehen wo $result zugewiesen wird können wir damit wenig anfangen und du solltest selbst wissen das NULL != Array ist.
            "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

            Kommentar


            • #7
              richtig, dass das kein Array ist. Find es nur komisch, das es unter 5.2 läuft.

              Anbei mal die ges. Datei.

              Jan

              FALSCHER ANHANG
              Angehängte Dateien

              Kommentar


              • #8
                Vermutlich ist dort einfach nur das Error reporting ausgestellt.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Du musst halt mal auf den Grund gehen woher das Array kommt, vlt. wird das durch etwas generiert das in PHP 5.3 anders läuft.

                  Kommentar


                  • #10
                    mal sehen, ob ich da was finde....

                    korrigierter Anhang
                    Angehängte Dateien

                    Kommentar


                    • #11
                      PHP-Code:
                      $result $this->get('Result'); 
                      die Methode get ist nicht in ReportsViewHome definiert, wird wohl in JView stecken
                      DevBlog|3D Online-Shopping|Xatrium

                      Kommentar


                      • #12
                        notation ohne warnung:

                        PHP-Code:
                        foreach( (array) $result as $reports )
                        {
                            [...]

                        cx

                        Kommentar


                        • #13
                          foreach ist vollkommen in ordnung, aber scheinbar liefert eine funktion die unter <5.3.3 noch ein leeres Array lieferte, jetzt NULL zurück

                          type-castet man nicht da wo das $result entsteht statt in jedem code abschnitt wo $result benutzt wird ? ^^
                          [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                          Kommentar


                          • #14
                            Kommt drauf an, ob woanders der NULL-Wert benötigt wird.
                            [COLOR="#F5F5FF"]--[/COLOR]
                            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                            [COLOR="#F5F5FF"]
                            --[/COLOR]

                            Kommentar


                            • #15
                              Aber wenn er vorher davon ausgegangen ist das es ein array zurückliefert und sich darauf verlassen hat ?
                              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                              Kommentar

                              Lädt...
                              X