Ohne return-Befehl Werte immer 'false'

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Natürlich glaube ich dir. Aber warum funktionieren die Funktionen nach der Umstellung auf PHP 5 nicht mehr, bei denen im Erfolgsfall kein return-Befehl im Code gesetzt wurde?

    Comment


    • #32
      Originally posted by weltvolk View Post
      Aber warum funktionieren die Funktionen nach der Umstellung auf PHP 5 nicht mehr, bei denen im Erfolgsfall kein return-Befehl im Code gesetzt wurde?
      Die Frage ist viel eher, wieso sollte das bei PHP 4 der Fall gewesen sein? Das war niemals so. Also hör jetzt auf mit dieser Sinnlos-Behauptung und fang an vernünftig zu debuggen.

      Comment


      • #33
        Wenn eine Funktion keinen return-Befehl hat, gibt sie null zurück. Das hat sich in PHP5 nicht geändert. Wenn Du auf "ungleich true" prüfst, schlägt ein Rückgabewert 'null' genauso an wie 'false' oder jeder andere Wert außer true. Das war auch schon immer so. Deshalb würde ich gern die Original-Stelle sehen, an der Du das Ergebnis prüfst.

        Wenn Du folgendermaßen prüfst:

        if (!$ergebnis)

        schlagen false und null an.

        Wenn Du folgendermaßen prüfst:

        if ($ergebnis === false)

        schlägt nur false an. Das ist im Normalfall die optimale Lösung.

        Comment


        • #34
          Originally posted by piratos
          Es ist ja eigentlich alles gesagt.
          Warum wiederholst Du's dann?

          Originally posted by piratos
          2a. Es ist unsinnig eine Funktion ohne Rückgabewert als eine solche nutzen zu wollen.
          <haarspalterei>
          null ist auch ein Rückgabewert.
          </haarspalterei>

          Comment


          • #35
            Ihr habt recht. Es funktionieren nur die Funktionen nicht mehr, die eine Datei übertragen. Einen return-Befehl bei zweischrittigen Funktionen, wie oben die Funktion 'ftp_copy', auszulassen, ist sicherlich unsauber, funktioniert aber weiterhin. Der Fehler liegt also woanders. Wie kann ich den Dateiinhalt von $z denn anzeigen lassen/debuggen?

            Comment


            • #36
              Am einfachsten mit file_get_contents().
              Error_reporting() kurzfristig hochdrehen, um alle eventuellen Fehler angezeigt zu bekommen.
              und auch schauen, ob ein curl_error() nach curl_exec() eine Fehlermeldung auswirft.

              Comment


              • #37
                OffTopic:
                Originally posted by weltvolk View Post
                Ihr habt recht. [...] Der Fehler liegt also woanders.
                Hallelujah.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Comment

                Working...