Ankündigung

Einklappen
Keine Ankündigung bisher.

Sammlung der meistgemachten Fehler für Normalmenschen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sammlung der meistgemachten Fehler für Normalmenschen

    Angehängt an: http://www.php.de/tutorials/1032-sam...en-fehler.html

    Kein häufig gemachter Fehler, aber eine fiese Falle, die mir vorhin aufgefallen ist:
    PHP-Code:
    $x = array();
    $x[] = $x

  • #2
    Cool, passiert denn da?

    Kommentar


    • #3
      Ich war mal neugierig:
      print_r($x) sagt:
      Array ( [0] => Array *RECURSION* )

      Kommentar


      • #4
        Irgendwo logisch. Sollte man vielleicht nicht rekursiv durchlaufen...

        Kommentar


        • #5
          var_dump() und print_r() sind ja noch intelligent. Versucht das rekursive Array mal mit var_export() auszugeben. Die Funktion ist nämlich weniger intelligent.

          EDIT:
          Sagt mal, kann man die Sortierung der Threads in diesem Unterforum nicht mal ganz normal auf "Nach Datum" einstellen? Um an den neusten Thread zu kommen, muss ich immer erst mal alle Threads durchgehen oder die Sortierung ändern, da vBulletin eine einmal getroffene Wahl auch nicht speichert.

          Kommentar


          • #6
            F.: Ich rufe von einem anderen Server eine XML-Datei ab, aber das Parsing funktioniert nicht.

            A.: In aller Regel liegt dieser Fehler darin begründet, dass die HTTP-Header noch im String enthalten sind. Die XML-Parser-Funktionen fordern hingegen alle einen validen XML-String.
            Um die Header zu entfernen, kann meist ein regulärer Ausdruck wie dieser benutzt werden:
            PHP-Code:
            $result preg_replace('#^.*\r\n\r\n#s'''$result); 

            Kommentar


            • #7
              Fatal error: Exception thrown without a stack frame in Unknown on line 0
              meist hervorgerufen durch eine exception in einer shutdown funktion wie dem destruktor, die am scriptende aufgerufen wird...

              PHP-Code:
               class destruct_me
               
              {
                    public 
              $value=1;

                     public function 
              __destruct()
                     {
                              throw new 
              Exception('blaaah');
                     }
               }
               
               
              $d=new destruct_me
              exceptions im konstruktor sind aber auch nicht toll, sie verhindern die erstellung einer instanz des objects, wenn sie nicht gefangen werden....

              Notice: Trying to get property of non-object in test.php on line 33
              PHP-Code:
              error_reporting(E_ALL);

              class 
              construct
              {
                  public 
              $value=1;

                   public function 
              __construct()
                   {
                          throw new 
              Exception('blaaah');
                   }
              }

              class 
              test
              {
                    private 
              $construct;

                    public function 
              get()
                    {
                          try
                          {
                                  
              $this->construct=new construct;
                          }
                          catch(
              Exception $exception)
                          {

                          }
                    }

                    public function 
              take()
                    {
                          echo 
              $this->construct->value;
                    }
              }

              $test=new test;
              $test->get();
              $test->take(); 

              Kommentar


              • #8
                Notice: Trying to get property of non-object in test.php on line 33
                nice...

                Kommentar

                Lädt...
                X