Heim >Backend-Entwicklung >PHP-Tutorial >9 häufige Fehler und Tipps, die PHP-Programmierer häufig machen

9 häufige Fehler und Tipps, die PHP-Programmierer häufig machen

PHP中文网
PHP中文网Original
2017-10-30 10:12:52948Durchsuche

Wenn wir PHP eine Zeit lang gelernt haben, entwickeln wir bestimmte schlechte Gewohnheiten. Im Folgenden sind 9 häufige Fehler aufgeführt, die vom Herausgeber zusammengestellt wurden. Damit jeder etwas lernen kann.

9 häufige Fehler und Tipps, die PHP-Programmierer häufig machen

1. Variablendeklaration

Wenn Sie eine Variable in einer Anweisung deklarieren, gehen Sie wie folgt vor: $var='value' ; Der Compiler wertet zunächst die rechte Hälfte der Anweisung aus, und dieser Teil der Anweisung verursacht häufig Fehler. Wenn Sie eine falsche Syntax verwenden, erhalten Sie einen Parsing-Fehler.

2. Parse-Fehler

Zum Beispiel Parse-Fehler: Parse-Fehler, unerwartetes T_WHILE in c:program filesapache groupapachehtdocsscript.php in Zeile 19. Der vorherige Fehler wird alle ermittelt Nach einiger Zeit treten Parsing-Fehler nacheinander auf und PHP stoppt die Ausführung des Skripts nach dem ersten Parsing-Fehler. Außerdem enthalten Parsing-Fehler nur sehr wenige Informationen, und die Zeilennummer, in der der Fehler aufgetreten ist, wird fast nicht gemeldet. Beispielsweise wird im Ausdruck ein vordefiniertes Schlüsselwort verwendet, zum Beispiel: while=10; while ist ein vordefiniertes Schlüsselwort, dem kein Wert zugewiesen werden kann. Zu den vordefinierten Schlüsselwörtern gehören while, function usw. Wir können diese vordefinierten Schlüsselwörter nicht zum Benennen von Variablen verwenden, da der Compiler sonst einen Fehler meldet. Unter diesen repräsentiert T_IF if(), T_WHILE while(), T_FOR for() usw.

3. Häufige Fehler

Es gibt auch einige häufige Fehler, wie zum Beispiel, dass die Anweisung nicht mit einem Semikolon (;) endet, fehlende Anführungszeichen in der Zeichenfolge usw . Wenn Sie außerdem keine geschweiften Klammern (}) verwenden, um eine Funktion oder Schleife zu beenden, generiert beispielsweise die Funktion UselessFunction(){for($i<0;$i<10;$i++){} Folgendes error: Parse error:parse error,unexpected$in c:program filesapache groupapachehtdocsereg2.php on line 9 Da die Funktion UselessFunction nicht mit einer geschweiften Klammer (}) endet, sucht der PHP-Compiler weiterhin nach der schließenden Klammer, bis er die erreicht Ende der Datei. Da der Compiler keine passende geschweifte Klammer findet, meldet er einen Dateiendefehler. Wenn die Codehierarchie korrekt wiedergegeben wird, werden Fehlermeldungen sehr deutlich. Andernfalls ist es sehr schwierig, den Code zu debuggen. Geben Sie daher unbedingt die hierarchische Struktur des Codes an, um späteren Entwicklern die Verbesserung des Codes zu erleichtern.

4. MySQL-Fehler

Eine andere Art von Fehlermeldung ist der MySQL-Fehler, der PHP-Neulingen oft Kopfschmerzen bereitet, wie zum Beispiel: Warnung: Das bereitgestellte Argument ist kein gültige MySQL-Ergebnisressource in... Die oben gemeldete falsche Zeile lautet möglicherweise: while($row=mysql_fetch_array($result)){}Der Parameter $result ist keine gültige Ressource, da die Abfrage fehlschlägt und mysql_fetch_array nicht verarbeitet werden kann. Wenn die Syntax einer Abfrage ungültig ist oder die Verbindung zur Datenbank fehlschlägt, sollten Sie zum Testen die MySQL-Konsole aufrufen.

5. Achten Sie auf den Unterschied zwischen Echo und Print

Echo und Print in PHP sind beide Ausgabefunktionen, es gibt jedoch immer noch subtile Unterschiede zwischen den beiden. Nach der Echo-Ausgabe gibt es keinen Rückgabewert, aber print hat einen Rückgabewert und gibt false zurück, wenn die Ausführung fehlschlägt. Daher kann es als normale Funktion verwendet werden, wenn beispielsweise $r=print „Hello World“ ausgeführt wird; der Wert der Variablen $r ist 1. Darüber hinaus läuft die echo-Anweisung im Code etwas schneller als die print-Anweisung.

6. Beachten Sie den Unterschied zwischen leerer Zeichenfolge ('') und NULL

Leere Zeichenfolgen und NULL werden in PHP beide mit dem Wert 0 gespeichert, aber Ihre Typen sind unterschiedlich. Ersteres ist eine Zeichenfolge, während letzteres NULL ist. Es ist ersichtlich, dass die Werte für Zeichenfolge ('') und NULL gleich sind, die Typen jedoch unterschiedlich sind.

Unterscheiden Sie den Unterschied zwischen == (gleich) und === (alle gleich)

Beide sind Vergleichsoperatoren, == (gleich) vergleicht nur, ob die Werte gleich sind, während == = (alle gleich) vergleicht nicht nur, ob die Werte gleich sind, sondern auch, ob die Typen gleich sind, was strenger ist.

7. Unterscheiden Sie den Unterschied zwischen include und require

Die Funktionen von include() und require() sind grundsätzlich gleich, es gibt jedoch einige Unterschiede in der Verwendung. include() ist eine bedingte Einschlussfunktion, während require() eine bedingungslose Einschlussfunktion ist. Wenn beispielsweise im folgenden Code die Variable $a wahr ist, wird die Datei a.php eingebunden: if($a){include("a.php");} und require() unterscheidet sich von include( ), unabhängig von $ Was auch immer der Wert von a ist, der folgende Code schließt die Datei a.php ein: if($a){require("a.php");} Zur Fehlerbehandlung verwenden Sie die Include-Anweisung If Tritt ein Inklusionsfehler auf, überspringt das Programm die Include-Anweisung, obwohl eine Fehlermeldung angezeigt wird, wird das Programm weiterhin ausgeführt. Die require-Anweisung führt jedoch zu einem schwerwiegenden Fehler.

8. Achten Sie auf den Unterschied zwischen isset und empty.

empty bestimmt, ob eine Variable „leer“ ist, während isset bestimmt, ob eine Variable „leer“ ist eingestellt wurde.

9. Unterscheiden Sie den Unterschied zwischen self:: und this-->

Wenn die referenzierte Variable oder If Wenn die Methode als const (konstant) oder static (statische Eigenschaft) deklariert ist, muss der Domänenoperator:: verwendet werden. Wenn die referenzierte Variable oder Methode nicht als const oder static deklariert ist, muss der Zeigeroperator -> verwendet werden.

Das obige ist der detaillierte Inhalt von9 häufige Fehler und Tipps, die PHP-Programmierer häufig machen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn