Heim > Backend-Entwicklung > PHP-Tutorial > Bestandsaufnahme häufiger Fehler bei der PHP-Programmierung

Bestandsaufnahme häufiger Fehler bei der PHP-Programmierung

WBOY
Freigeben: 2016-08-08 09:28:30
Original
867 Leute haben es durchsucht

Übersicht: Dieser Artikel zieht eine Bestandsaufnahme der kleinen Fehler und Irrtümer, die PHP-Entwickler beim Codieren gerne übersehen oder nicht beachten.

Variablendeklaration

Wenn Sie eine Variable in einer Anweisung deklarieren, wie unten gezeigt: $var='value';Der Compiler findet zuerst den Wert der rechten Hälfte der Anweisung, und zwar genau diesen Teil der Anweisung das führt oft zu Fehlern. Wenn Sie eine falsche Syntax verwenden, erhalten Sie einen Parsing-Fehler.

Parse-Fehler

Zum Beispiel Parse-Fehler: Unerwartetes T_WHILE in c:program filesapache groupapachehtdocsscript.php in Zeile 19. Jedes Mal, wenn der vorherige Fehler festgestellt wird, treten weiterhin Parse-Fehler nacheinander auf, PHP stoppt nach dem ersten Parse-Fehler einfach die Ausführung Skript. 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.

Häufige Fehler

Es gibt auch einige häufige Fehler, wie zum Beispiel, dass die Anweisung nicht mit einem Semikolon (;) endet, Anführungszeichen in der Zeichenfolge fehlen 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 Zeile 9 Da die -Funktion UselessFunction nicht mit einer geschweiften Klammer (}) endet, wird der PHP-Compiler damit fortfahren Suchen Sie nach der schließenden Klammer, bis das Ende der Datei erreicht ist. Da der -Compiler keine passende Klammer findet, meldet er einen Dateiende-Fehler. 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.

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 keine 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 zur MySQL-Konsole gehen.

Achten Sie auf den Unterschied zwischen Echo und Print

In PHP verfügen sowohl Echo als auch Print über Ausgabefunktionen, es gibt jedoch immer noch subtile Unterschiede zwischen ihnen. 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, ist der Wert der Variablen $r 1. Darüber hinaus läuft die echo-Anweisung im Code etwas schneller als die print-Anweisung.

Achten Sie auf 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 Zeichenfolge, während letzteres NULL ist. Es ist ersichtlich, dass Zeichenfolge ('') und NULL-Werte sind sind gleich, aber unterschiedlicher Art.

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

Beides sind Vergleichsoperatoren. == (gleich) vergleicht nur, ob die Werte gleich sind, während === (gleich allen) nicht nur vergleicht, ob die Werte gleich sind, sondern auch, ob die Typen gleich sind gleich. Es ist strenger.

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() schließt die Funktion bedingt ein, während require() die Funktion bedingungslos einschließt. Wenn beispielsweise im folgenden Code die Variable $a wahr ist, wird die Datei a.php eingebunden: if($a){include("a.php");} und require() ist unterschiedlich Von include() aus schließt der folgende Code die Datei a.php ein, egal welchen Wert $a annimmt: if($a){require("a.php");} Benutzen Sie im Hinblick auf die Fehlerbehandlung die include-Anweisung Wenn ein Einschlussfehler auftritt, wird die Include-Anweisung übersprungen und das Programm wird weiter ausgeführt, obwohl eine Fehlermeldung angezeigt wird. Die require-Anweisung führt jedoch zu einem schwerwiegenden Fehler.

Beachten Sie den Unterschied zwischen isset und empty

Mit Empty wird ermittelt, ob eine Variable „leer“ ist, während mit isset ermittelt wird, ob eine Variable festgelegt wurde.

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

Wenn beim Zugriff auf Mitgliedsvariablen oder -methoden in einer PHP-Klasse die referenzierte Variable oder Methode als const (Konstante) oder static (statische Eigenschaft) deklariert ist, muss der Domänenoperator:: verwendet werden, und wenn darauf verwiesen wird, muss The verwendet werden Wenn die Variable oder Methode nicht als const oder static deklariert ist, verwenden Sie den Zeigeroperator ->.

Das Obige hat eine Auflistung häufiger Fehler in der PHP-Programmierung vorgestellt, einschließlich einiger Aspekte davon. Ich hoffe, dass es Freunden, die sich für PHP-Tutorials interessieren, hilfreich sein wird.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage