<sub class="descriptionSection">21-01-2025 04:21:pm // #Tag // [[Internetanwendungen]]</sub>
____
# Was ist PHP?
PHP ist eine **Skriptsprache** welche für [[Webserver]] entwickelt wurde. Das bedeutet das die Programme als **Quelltext** gespeichert werden und zur Laufzeit von einem Interpreter in **Maschinensprache** übersetzt werden.
Um PHP mit [[Apache Webserver]] zu verwenden benötigt man das entsprechende PHP-Modul.
![[Pasted image 20250121162158.png]]
# Einbinden von PHP-Code
Um PHP-Code auf einer [[HTML]]-Seite zu verwenden muss die Datei mit der Dateiendung **.php** enden. Anschließen kann man dann folgende Tags verwenden:
-> `<?php PHP-QUELLTEXT ?>`
-> `<? PHP-QUELLTEXT ?>` (Wenn es der Webserver unterstützt)
# Kommentare
```php
<?php
// Einzelner Kommentar
# Einzelner Kommentar
/* Mehrzeiliger Kommentar */
?>
```
# Variablen
In PHP muss nicht wie in andren Sprachen wie z. B. [C++]([[C++ Basics]]) oder Java der Datentyp beim erstellen einer Variable festgelegt werden. Dieser Typ wird automatisch nach der ersten Zuweisung erkannt und dann dementsprechend behandelt.
Variablen müssen immer mit einem am Anfang benannt werden also z. B.*: `$var1` oder `$testvar`.
## Variable Variablen
In PHP können Variablenamen ebenfalls variable sein:
```php
<?php
$varname1 = "test";
$test = "geheim";
print "Der Inhalt der Variablen mit dem Namen $varnname1 ist ". $varname1;
//Ausgabe : Der Inhalt der Variablen mit dem Namen test ist geheim
?>
```
Dabei wird der Inhalt von einer Variable als Variable interpretiert wenn er mit zwei $-Zeichen aufgerufen wird.*
## Datentypen
| Name | Beschreibung | Beispiel |
|---|---|---|
| Ganzzahl | Ganze Zahlen | `$a = 123`; |
| Fließkommazahl | Kommazahlen | `$s = 34.22`[:br]`$u = 23.3E-5` |
| Bool | Wahrheitswerte | `$t = TRUE`[:br]`$f = FALSE` |
| Zeichenketten | Enthält ein oder mehrere Zeichen | `$x = "Hier werden Variablen interpretiert. \$a = $a"`[:br]`$y = 'Hier werden kene Variablen interpretiert: $a'` |
# Operatoren
## Arithmetische 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` |
Zudem gibt es noch Inkrement- und Dekrementoperatoren.
| `++$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
![[Pasted image 20250121162544.png]]
## Logische Operatoren
![[Pasted image 20250121162607.png]]
## Bitoperatoren
| 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). | |
## Operatoren für Zeichenketten
Um Zeichenkette in PHP zu verknüpfen benötigt man den `.`-Operator:
```php
<?php
$a = "Hallo ";
$b = $a . "das ist ein PHP Versuch!";
print "$b <br>";
$a = "Hallo ";
// und die Kurzform ....
$a .= "das ist noch ein PHP-Versuch!";
print $a;
?>
```
# Kontrollstrukturen
## Verzweigungen
![[Pasted image 20250121162731.png]]![[Pasted image 20250121162749.png]]