if, elseif und else formulieren könnenswitch umsetzen können== vergleicht nur den
Wert, === vergleicht
Wert und Typ
=== verwenden
<?php
var_dump("10" == 10); // bool(true)
var_dump("10" === 10); // bool(false)
<?php
3 + 4 // Ausdruck -> 7
$age >= 18 // Ausdruck -> bool
"Hallo " . $name // Ausdruck -> string
+ |
Addition |
- |
Subtraktion |
* |
Multiplikation |
/ |
Division |
% |
Modulo (Rest der Division) |
** |
Potenz |
<?php
echo 10 % 3; // 1
echo 2 ** 3; // 8
Kombinierte Zuweisungsoperatoren verknüpfen eine Rechenoperation direkt mit der Zuweisung.
<?php
$total = 10;
$total += 5; // $total = $total + 5; -> 15
$total -= 2; // $total = $total - 2; -> 13
$total *= 3; // $total = $total * 3; -> 39
$total /= 3; // $total = $total / 3; -> 13
$name = "Anna";
$name .= " Muster"; // Konkatenation & Zuweisung
++ und
-- erhöhen bzw. verringern eine
Variable um 1.
<?php
$count = 5;
$count++; // Post-Inkrement, entspricht $count += 1;
echo $count; // 6
$count--; // Post-Dekrement
echo $count; // 5
Es gibt auch die Pre-Varianten
++$count /
--$count - der Unterschied
zeigt sich erst, wenn der Ausdruck direkt weiterverwendet wird.
== /
===
|
Gleich / Identisch |
!= /
!==
|
Ungleich / Nicht identisch |
<
>
<=
>=
|
Kleiner, grösser, kleiner/gleich, grösser/gleich |
<=> |
Spaceship-Operator |
<?php
echo 3 <=> 5; // -1 (kleiner)
echo 5 <=> 5; // 0 (gleich)
echo 7 <=> 5; // 1 (grösser)
&& |
Und (beide Bedingungen müssen zutreffen) |
|| |
Oder (mind. eine Bedingung muss zutreffen) |
! |
Nicht (kehrt den Wahrheitswert um) |
<?php
$age = 20;
$hasTicket = true;
var_dump($age >= 18 && $hasTicket); // bool(true)
var_dump($age < 18 || !$hasTicket); // bool(false)
&& wird die zweite
Bedingung nicht mehr geprüft, wenn die erste bereits
false ist
|| wird die zweite
Bedingung nicht mehr geprüft, wenn die erste bereits
true ist
<?php
$user = null;
// Zweiter Teil wird nicht ausgeführt, da $user null ist
if ($user !== null && $user->isAdmin()) {
// ...
}
() lässt
sich die Reihenfolge gezielt steuern und der Code lesbarer
machen
<?php
echo 2 + 3 * 4; // 14 - Multiplikation zuerst
echo (2 + 3) * 4; // 20 - Klammer zuerst
$result = 5 > 3 && 2 > 1; // Vergleiche vor &&
if / else
Mit if wird ein Codeblock nur
ausgeführt, wenn die Bedingung true
ergibt.
<?php
$age = 16;
if ($age >= 18) {
echo "Volljährig";
} else {
echo "Minderjährig";
}
elseif - mehrere Fälle
Mit elseif lassen sich beliebig
viele weitere Bedingungen prüfen, bevor als letzte Option
else greift.
<?php
$points = 72;
if ($points >= 90) {
echo "Note 6";
} elseif ($points >= 75) {
echo "Note 5";
} elseif ($points >= 60) {
echo "Note 4";
} else {
echo "Note ungenügend";
}
switch
switch vergleicht einen Wert mit
mehreren möglichen Fällen - übersichtlicher als viele
elseif bei einem einzelnen
Vergleichswert.
<?php
$day = 3;
switch ($day) {
case 1:
echo "Montag";
break;
case 2:
echo "Dienstag";
break;
case 3:
echo "Mittwoch";
break;
default:
echo "Unbekannter Tag";
}
Ohne break "fällt" die
Ausführung in den nächsten Fall (Fallthrough)!
Der ternäre Operator ?: ist eine
Kurzform für ein einfaches
if/else,
das einen Wert zurückgibt.
<?php
$age = 20;
// Bedingung ? Wert wenn true : Wert wenn false
$status = $age >= 18 ? "Volljährig" : "Minderjährig";
echo $status;
?? gibt den linken Wert zurück,
falls dieser existiert und nicht null
ist - sonst den rechten Wert.
<?php
$username = $_GET["user"] ?? "Gast";
echo $username;
// Entspricht in etwa:
$username = isset($_GET["user"]) ? $_GET["user"] : "Gast";
Praktisch für Standardwerte, z.B. bei fehlenden Formular- oder URL-Parametern.
+ - * / % **),
Zuweisungs- (+= -= .= ...) und
Inkrement-/Dekrement-Operatoren (++ --)
rechnen und verändern Werte
&& || !)
kombinieren Bedingungen und werden per Short-Circuit ausgewertet
() steuern die
Operatorrangfolge und verbessern die Lesbarkeit
if/elseif/else
und switch steuern den
Programmablauf
?: und
?? sind kompakte Kurzformen
für einfache Fallunterscheidungen bzw. Standardwerte