Semikolon nach dem Schließen der geschweiften Klammer in PHP

8

Ich schreibe ein Skript, um Teile eines Textes zu erstellen und per SMS zu versenden. Früher habe ich einen Code überprüft, um die Zeichenfolge in Stücke zu teilen, und ich habe etwas gesehen, das ich noch nie gesehen habe. Ich spreche von dem ";" direkt nach dem "}" am En des Snippets.

Warum dieser Doppelpunkt? Ich weiß, dass es funktioniert, aber ich weiß nicht, ob es dem Dolmetscher irgendeine Semantik oder irgendeine Anweisung hinzufügt, jemand weiß, wofür ist das?

%Vor%

BEARBEITEN: Sieht klar aus, dass das Semikolon sowie mehrere Semikolons zusammen keine Auswirkung auf das Ergebnis haben, aber wissen Sie, ob es Auswirkungen auf den Interpreter hat? macht es eine Aufgabe (intern), wenn es es analysiert?

    
SubniC 30.11.2010, 15:36
quelle

4 Antworten

12

Ich denke, diese 2 Semikolons machen hier nichts. Es wird wahrscheinlich als leerer Ausdruck unmittelbar nach dem if / while interpretiert.

    
Evan Teran 30.11.2010, 15:38
quelle
4

Diese sind unnötig. Sie verletzen das Skript nicht, nur unnötig. Der Programmierer hatte wahrscheinlich die Angewohnheit, am Ende jeder Anweisung Semikolons hinzuzufügen. Vielleicht hatte er diese Angewohnheit von einer anderen Programmiersprache, vielleicht zeigte seine IDE Fehler ohne Semikolon oder vielleicht ist er nur ein Anfänger. Auf jeden Fall gibt es weder Schmerzen noch Hilfe. Auch die Tatsache, dass Programmierer while (1) benutzt, sagt mir, dass er entweder extrem faul ist, weil normalerweise ein Programmierer schreiben würde (wahr), der einzige Grund, während 1 zu schreiben, ist, weil es weniger tippen muss. Ein Programmierer mit irgendeiner Art von formalem Training wird nicht während (1) statt während (wahr) schreiben. Dies ist nur meine Meinung, aber es basiert auf über 10 Jahren Programmierung in 3 Sprachen.

    
Dmitri 30.11.2010 15:46
quelle
1

In einigen Fällen müssen Sie nach einer schließenden geschweiften Klammer ein Semikolon haben!

Beispiel:

%Vor%

Natürlich würden Sie keine alternative Syntax für Kontrollstrukturen verwenden, wenn es nur PHP-Code gibt.

Aber wenn Sie eine Mischung aus HTML und PHP Code haben, können Sie die alternative Syntax für Kontrollstrukturen verwenden (alternative Syntax macht den Code nur klarer und leichter zu lesen), aber das Problem ist dann in manchen Fällen ein Plugin oder für Beispiel: Ein Tag-Parser eines cms könnte eine if-Anweisung mit geschweiften Klammern (ohne "schließendes Semikolon") direkt vor dem "else:" erzeugen, was zu einem Syntaxfehler in der resultierenden PHP-Datei führen würde.

Der obige Code würde so funktionieren:

%Vor%     
user3228587 23.01.2014 16:10
quelle
0

Manche Leute benutzen // endwhile oder // endif, um zu signalisieren, woher sie kommen. Andere setzen nach den Klammern Semikolon. Beide Techniken sind harmlos und kommen nur auf den Entwickler.

Ich würde eine Vermutung riskieren, dass dieser Programmierer ihrer eigenen Kodierung nicht traut, auch in einer Lehrbuchweise ohne Stil kodiert - die Klammerpositionen, der inkonsistente Abstand und die while (1) sind nur .. Ich empfehle das nicht.

    
Mark Mayo 30.11.2010 16:01
quelle

Tags und Links