Files

86 lines
1.5 KiB
Markdown

Klar — hier ist der Inhalt als Markdown zum Kopieren:
```markdown
# Erklärung der PHP-Zeile
```php
$page = isset($_GET['page']) ? max(1, (int) $_GET['page']) : 1;
```
Die Zeile liest den URL-Parameter **`page`** aus und stellt sicher, dass die Seitennummer mindestens **1** ist.
## 1. Prüfen, ob `page` vorhanden ist
```php
isset($_GET['page'])
```
Prüft, ob in der URL ein Parameter `page` vorhanden ist.
Zum Beispiel:
```text
http://localhost/pfdb/?page=3
```
Dann enthält:
```php
$_GET['page'] // "3"
```
## 2. Umwandlung in eine Ganzzahl
```php
(int) $_GET['page']
```
wandelt den Wert in eine Ganzzahl (`int`) um.
## 3. Mindestwert 1
```php
max(1, (int) $_GET['page'])
```
stellt sicher, dass das Ergebnis **nicht kleiner als 1** wird.
## 4. Ternärer Operator
Der gesamte Ausdruck verwendet den sogenannten **ternären Operator**:
```php
Bedingung ? Wert_wenn_wahr : Wert_wenn_falsch
```
Ausgeschrieben entspricht die ursprüngliche Zeile ungefähr:
```php
if (isset($_GET['page'])) {
$page = max(1, (int) $_GET['page']);
} else {
$page = 1;
}
```
## Beispiele
| URL-Parameter | `$page` |
| ------------- | -------:|
| keiner | `1` |
| `?page=1` | `1` |
| `?page=5` | `5` |
| `?page=0` | `1` |
| `?page=-4` | `1` |
| `?page=abc` | `1` |
## Zweck
Das ist typisch für eine **Pagination/Seitennavigation**.
`$page` gibt also sehr wahrscheinlich an, welche Seite einer Ergebnisliste angezeigt werden soll.
```
```