<sub class="descriptionSection">21-01-2025 04:03:pm // #Tag // [[IAW]]</sub> ____ **Beim Aufruf eines PHP-Programms werden die folgenden Schritte ausgeführt: 1. Der Webbrowser (Client) fordert das Dokument beim Webserver an. 2. Der Webserver erkennt an der Endung des Dateinamens (z.B. .php), dass es sich um ein PHP-Skript handelt und startet den entsprechenden Interpreter für das Programm. Das Programm wird auf dem Server ausgeführt. 3. Die vom Programm erzeugten Ausgaben (meist HTML-Format) werden an den Webbrowser, der das Dokument aufgerufen hat, zurückgesendet. 4. Der Browser zeigt die Ausgaben an. # PHP Code einbinden In einer `.php` Datei: Beginn von PHP Block : `<?php` Ende von PHP Block: `?>` Je nach Webserver ist auch `<? ?>` möglich Error logs sind per Default aus, sie können eingeschalten werden indem im Dokument `error_reporting(E_ALL);` oben eingefügt wird. # Variablendefinition - Case Sensitive - Alphanumerische Zeichen und Unterstrich - werden mit $ am Anfang markiert ## Strings Doppelte Anführungszeichen("): ```php $a = 1; $b = "\$a hat den Wert $a"; //Ohne Escape wird der Variablenwert ausgegeben ``` Einfache Anführungszeichen ```php $a = 1; $b = '$a'; //wird als String gelesen ``` Zwei Zeichenketten werden mit `.` vereinigt ```php $a = "abc"; $b = "def"; $c = $a . $b; //"abcdef" ``` # Operatoren | Rechenoperation | Mathematische Schreibweise | PHP-Schreibweise | | ------------------------- | -------------------------------------------------------------------------- | ---------------- | | Addition | a+b | $a + $b | | Subtraktion | a-b | $a - $b | | Multiplikation | a * b | $a * $b | | Division | a:b | $a / $b | | Rest der Ganzzahldivision | a modulo b | $a % $b | | Exponent | a$^b$ | $a ** $b | | ++$x | x wird um den Wert 1 erhöht, bevor x im Ausdruck weiter verwendet wird. | | | --$x | x wird um den Wert 1 erniedrigt, bevor x im Ausdruck weiter verwendet wird | | | $x++ | x wird inkrementiert, nachdem x im Ausdruck verwendet wurde | | | $x-- | x wird dekrementiert, nachdem es im Ausdruck verwendet wurde | | # Vergleichsoperatoren | Vergleich | PHP-Schreibweise | | ---------------------------------------------------------------------------- | ---------------- | | a gleich b | $a ==$b | | a größer b | $a > $b | | a kleiner b | $a < $b | | a größer oder gleich b | $a >= $b | | a kleiner oder gleich b | $a <= $b | | a ungleich b | $a != $b | | a gleich b und der Typ von a ist gleich dem Typ von b (strings `==`) | $a `===`$b | | a ungleich b oder der Typ von a ist nicht gleich dem Typ von b (strenges !=) | $a !== $b | # Bitoperationen | Beispiel | Name | Ergebnis | | -------- | ----------------------- | ------------------------------------------------------------------------------------------------------------- | | $a & $b | Und | Bitweise Und-Verknüpfung | | $a \| $b | Oder | Bitweise Oder-Verknüpfung | | $a ^ $b | Xor | Bitweise XOR-Verknüpfung | | ~$a | Nicht | Bitweises invertieren | | $a << $b | Nach links verschieben | Verschiebung der Bits von $a um $b Stellen nach links (Jede Stelle entspricht einer Multiplikation mit zwei). | | $a >> $b | Nach rechts verschieben | Verschiebt die Bits von $a um $b Stellen nach rechts (jede Stelle entspricht einer Division durch zwei). | # Verzweigung ## IF ```php if ($true){ //Code }elseif($true){ //Code }else{ //Code } ``` ## Switch Case ```php switch(Ausdruck){ case Konstante: Anweisung; case Konstante : Anweisung; default : Anweisung; } ``` # Schleifen ## while Schleife ```php while ($true){ //Code } ``` ## do-while Schleife ```php do{ //code }while($true); ``` ## for Schleife ```php for ($i = 0; $i < 2; $i++){ //code } ```