Es gibt verschiedene PHP Bugs , die Programmierer beim Schreiben von PHP-Code vorstellen . Einige der Bugs verursachen Fehlermeldungen vom Dolmetscher , aber die Fehlermeldungen oft nicht der tatsächlichen Fehler beziehen und können zu einer völlig anderen Zeile im Skript zu verweisen. Andere Fehler verursachen keine Fehlermeldung überhaupt verursachen aber das Programm sich anders zu verhalten als gedacht. Es ist hilfreich , diese häufige Fehler überprüfen, weil diese Fehler von Anfängern und erfahrenen Programmierern gemacht werden gleichermaßen. Mit einem Assignment Operator in einen bedingten Ausdruck
Das Gleichheitszeichen ist ein Zuweisungsoperator in PHP. Zum Beispiel Die folgende Anweisung weist den Wert fünf bis die Variable $ x :
$ x = 5;
zwei Gleichheitszeichen zusammen einen bedingten Operator . Zum Beispiel Die folgende Anweisung weist den Wert drei der Variablen $ y, wenn die Variable $ x gleich fünf :
if ($ x == 5 ) $ y = 3;
< p > Ein gemeinsames PHP Bug ist einer der Gleichheitszeichen im bedingten Ausdruck weglassen . Dies bewirkt, dass die Dolmetscher um eine Zuordnung und dann eine bedingte Auswertung auf das Ergebnis der Aufgabe, für die eine Nicht-Null- Wert zu bewerten, führt Betrachten Sie zum Beispiel die folgende Anweisung "true". :
if ($ x = 5) $ y = 3;
die Variable $ y wird immer gleich drei , weil der Wert fünf zugeordnet ist , statt im Vergleich zu , die Variable $ x . Seit fünf nicht Null ist , wird das Ergebnis immer zu beurteilen, "true".
Weglassen einer Trailing Zitat aus einem String
weiteres gemeinsames PHP Fehler tritt auf, wenn Sie nicht richtig schließen eine Zeichenfolge mit einem abschließenden Zitat . Es ist einfach , dies zu tun , vor allem, wenn Sie das Mischen einfachen und doppelten Anführungszeichen in derselben Saite . Es ist manchmal schwierig, die Quelle dieses Fehlers zu verfolgen , da die Fehlermeldung kann sehr verschieden von dem eigentlichen Problem , und der Dolmetscher oft zeigt auf eine Linie, die mehrere Zeilen Vergangenheit, wo das eigentliche Problem ist. Das ist, weil der Dolmetscher weiter zu versuchen und zu verarbeiten den Code trotz der fehlenden Börsennotierung. Betrachten Sie das folgende Skript :
< php $ string1 = ' Und sie sagte: "Ich frage mich, warum ? "; $ String2 =' Und er antwortete: "Ich glaube, ich weiß die Antwort! " ? ; " if ($ plot_path1 ) echo $ Zeichenfolge1 ; elseecho $ Zeichenfolge2 ;
Dieser Code wird eine " unerwartete T_STRING " Fehler zu erzeugen , die auf die Zeile mit dem " if " -Anweisung, die ist zwei Linien unten, wo das eigentliche Problem.
Vergessen der "$" beim Umschalten zwischen den Sprachen
PHP-Programme häufig auftritt sowohl HTML-Markup und JavaScript-Code durchsetzt mit PHP-Skript . Beim Umschalten zwischen PHP und JavaScript , dann ist es leicht zu vergessen, welche Sprache Sie verwenden, und um die Standards der falschen Skriptsprache erlassen. Ein häufiger Fehler ist es, die Dollar-Zeichen vor einem PHP-Variable weglassen, da es in PHP , aber nicht in JavaScript erforderlich. Zum Beispiel lässt der folgende Skript das Dollarzeichen aus der Variablen "i " in der " for"-Schleife nach der JavaScript Code-Snippet :
< php $ total = Summe ( $ parts ); ? . ? > for (i = 0 ; i < 25; i + +) { Verfahren ( Artikel [i] );} ? > die Dolmetscher- Punkte auf der Zeile mit dem Fehler, aber gibt die Fehlermeldung " unexpected ' = ' erwartet ';' "
Inklusive einem Semikolon nach einer "If" -Linie
Da die meisten Linien in PHP Ende in einem Semikolon , ist eine gemeinsame PHP Bug ein Semikolon gehören nach einer Zeile mit einem "if" -Anweisung. Dies kann eine schwierige Fehler aufzuspüren , weil es nicht auslösen eine Fehlermeldung sein . Zum Beispiel wird das folgende Skript immer echo " Low am Inventar! " Wegen der Semikolon am Ende der Zeile mit dem " if"-Anweisung . Das Semikolon beseitigt effektiv die bedingte Ausdruck, weil er beendet die "if" -Anweisung ohne Auswertung eines Ausdrucks
< phpif ( $ count <5 ); . ? {Echo "Low am Inventar! "; }