3. Unterrichtsblock

Kursinhalte
PHP Operatoren
Operatoren werden verwendet, um Operationen an Variablen und Werten auszuführen.
PHP teilt die Operatoren in folgende Gruppen ein:
- Rechenzeichen
- Zuweisungsoperatoren
- Vergleichsoperatoren
- Inkrement/Dekrement-Operatoren
- Logische Operatoren
- String-Operatoren
- Array-Operatoren
- Bedingte Zuweisungsoperatoren
Arithmetische PHP-Operatoren
Die arithmetischen Operatoren von PHP werden mit numerischen Werten verwendet, um allgemeine arithmetische Operationen wie Addition, Subtraktion, Multiplikation usw.
Operator | Name | Beispiel | Ergebnis |
---|---|---|---|
+ | Addition | $x + $y | Summe von $x und $y |
– | Subtraction | $x – $y | Differenz von $x und $y |
* | Multiplication | $x * $y | Prodikt von $x und $y |
/ | Division | $x / $y | Quotient von $x und $y |
% | Rest | $x % $y | Rest von $x geteilt durch $y |
** | Potenzierung | $x ** $y | Ergebnis von $x hoch $y |
Aufgabe
Probiere o.g. Codebeispiele aus, um ein Gefühl dafür zu bekommen.
PHP-Zuweisungsoperatoren
Die PHP-Zuweisungsoperatoren werden mit numerischen Werten verwendet, um einen Wert in eine Variable zu schreiben.
Der grundlegende Zuweisungsoperator in PHP ist „=“. Das bedeutet, dass der linke Operand auf den Wert des rechten Zuweisungsausdrucks gesetzt wird.
Zuweisung | Gleich wie… | Beschreibung |
---|---|---|
x = y | x = y | Der linke Operand wird auf den Wert des rechten Ausdrucks gesetzt |
x += y | x = x + y | Addition |
x -= y | x = x – y | Subtraktion |
x *= y | x = x * y | Multiplikation |
x /= y | x = x / y | Division |
x %= y | x = x % y | Rest |
PHP-Vergleichsoperatoren
Die PHP-Vergleichsoperatoren werden verwendet, um zwei Werte (Zahl oder Zeichenfolge) zu vergleichen:
Operator | Name | Beispiel | Ergebnis |
---|---|---|---|
== | Gleich | $x == $y | Gibt „true“ aus, wenn $x gleich $y ist |
=== | Identisch | $x === $y | Gibt „true“ aus, wenn $x gleich $y ist und beide Werte denselben Typ haben |
!= | Nicht gleich | $x != $y | Gibt „true“ aus, wenn $x nicht gleich $y ist |
<> | Nicht gleich | $x <> $y | Gibt „true“ aus, wenn $x nicht gleich $y ist |
!== | Nicht identisch | $x !== $y | Gibt „true“ aus, wenn $x nicht gleich $y ist, oder beide Werte nicht vom gleichen Typ sind |
> | Größer als | $x > $y | Gibt „true“ aus, wenn $x größer als $y ist |
< | Kleiner als | $x < $y | Gibt „true“ aus, wenn $x kleiner als $y ist |
>= | Größer als, oder gleich | $x >= $y | Gibt „true“ aus, wenn $x gleich, oder größer als $y ist |
<= | Kleiner als, oder gleich | $x <= $y | Gibt „true“ aus, wenn $x gleich, oder kleiner als $y ist |
<=> | Raumschiff | $x <=> $y | Gibt eine ganze Zahl zurück, die kleiner, gleich oder größer als Null ist, je nachdem, ob $x kleiner, gleich oder größer als $y ist. Eingeführt in PHP 7. |
PHP-Inkrement-/Dekrement-Operatoren
Die PHP-Inkrementoperatoren werden verwendet, um den Wert einer Variablen zu erhöhen. Die PHP-Dekrementoperatoren werden verwendet, um den Wert einer Variablen zu verkleinern.
Operator | Name | Beschreibung |
---|---|---|
++$x | Vorinkrement | Erhöht $x um den Wert eins und gibt anschließend $x zurück |
$x++ | Nachinkrement | Gibt $x zurück und erhöht $x anschließend um den Wert eins |
– -$x | Vordekrement | Verkleinert $x um den Wert eins und gibt anschließend $x zurück |
$x- – | Nachdekrement | Gibt $x zurück und verringert $x anschließend um den Wert eins |
Aufgabe
Probiere o.g. Codebeispiele aus, um ein Gefühl dafür zu bekommen.
Logische PHP-Operatoren
Die logischen PHP-Operatoren werden verwendet, um bedingte Anweisungen zu kombinieren.
Operator | Name | Beispiel | Ergebnis |
---|---|---|---|
and | And | $x and $y | Wahr, wenn beide Werte $x und $y wahr sind |
or | Or | $x or $y | Wahr, wenn entweder $x oder $y wahr sind |
xor | Xor | $x xor $y | Wahr, wenn entweder $x oder $y, aber nicht beide wahr sind |
&& | And | $x && $y | Wahr, wenn beide Werte $x und $y wahr sind |
|| | Or | $x || $y | Wahr, wenn entweder $x oder $y wahr sind |
! | Not | !$x | Wahr, wenn $x nicht wahr ist |
PHP-String-Operatoren
PHP hat zwei Operatoren, die speziell für Strings entwickelt wurden.
Operator | Name | Example | Result |
---|---|---|---|
. | Verkettung | $txt1 . $txt2 | Verkettung von $txt1 und $txt2 |
.= | Verkettungszuweisung | $txt1 .= $txt2 | Hängt $txt2 an $txt1 an (Ausgabe erfordert nur noch $txt1) |
PHP-Array-Operatoren
Die PHP-Array-Operatoren werden verwendet, um Arrays zu vergleichen.
Operator | Name | Beispiel | Ergebnis |
---|---|---|---|
== | Gleich | $x == $y | Gibt wahr zurück, wenn $x und $y die gleichen Schlüssel/Wert-Paare haben |
=== | Identisch | $x === $y | Gibt wahr zurück, wenn $x und $y die gleichen Schlüssel/Wert-Paare in der gleichen Reihenfolge und vom gleichen Typ haben |
!= | Nicht gleich | $x != $y | Gibt „true“ aus, wenn $x nicht gleich $y ist |
<> | Nicht gleich | $x <> $y | Gibt „true“ aus, wenn $x nicht gleich $y ist |
!== | Nicht identisch | $x !== $y | Gibt „true“ aus, wenn $x nicht gleich $y ist |
+ | Zusammenführen | $x + $y | Führt $x und $y zusammen |
Bedingte PHP-Zuweisungsoperatoren
Die bedingten Zuweisungsoperatoren von PHP werden verwendet, um einen Wert in Abhängigkeit von Bedingungen festzulegen:
Operator | Name | Beispiel | Ergebnis |
---|---|---|---|
?: | Ternär | $x = ausdr1 ? ausdr2 : ausdr3 | Gibt den Wert von $x aus. Der Wert von $x ist ausdr2 wenn ausdr1 = TRUE. Der Wert von $x ist ausdr3 wenn ausdr1 = FALSE |
?? | Keine Koaleszenz | $x = ausdr1 ?? ausdr2 | Gibt den Wert von $x aus. Der Wert von $x ist ausdr1 wenn ausdr1 existiert und nicht NULL ist. Wenn ausdr1 nicht existiert, oder NULL ist, dann ist ausdr2 der Wert von $x. Eingeführt in PHP 7 |
Aufgabe
Probiere o.g. Codebeispiele aus, um ein Gefühl dafür zu bekommen.
PHP Konstanten
Konstanten sind sogenannte „Bezeichner“ von Werten und verhalten sich wie Variablen, außer dass sie, sobald sie einmal definiert wurden, nicht mehr geändert oder undefiniert werden können.
Visuelle Unterscheidung zu Variablen: Ein gültiger Konstantenname beginnt mit einem Buchstaben oder Unterstrich (kein $-Zeichen vor dem Konstantennamen).
Hinweis: Im Gegensatz zu Variablen sind Konstanten automatisch global im gesamten Skript.
Erstellen von PHP-Konstanten
Um eine Konstante zu erstellen, verwendet man die define()
Funktion.
Syntax
define(name, value, case-insensitive)
Parameter:
- name: Gibt den Namen der Konstante an
- value: Gibt den Wert der Konstante an
Erstellen einer Konstante mit einem Namen, bei dem die Groß-/Kleinschreibung beachtet wird :
// Seit PHP 8
// Erstellen einer Konstante mit einem Namen, bei dem die Groß-/Kleinschreibung beachtet wird:
<?php
define("BEGRUESSUNG", "Hallo Leute!");
echo BEGRUESSUNG;
?>
// Für PHP 7 noch gültig
// Erstellen einer Konstante mit einem Namen ohne Berücksichtigung der Groß-/Kleinschreibung:
<?php
define("BEGRUESSUNG", "Hallo Leute!", true);
echo begruessung;
?>
/* Seit PHP 8 können Variablen nicht mehr case-insensitive gesetzt werden:
Warning: define(): Argument #3 ($case_insensitive) is ignored since declaration of case-insensitive constants is no longer supported in C:\xampp\htdocs\3-unterrichtsstunde.php on line 25
*/
Aufgabe
Anweisungen:
- Konstante definieren:
- Erstelle eine PHP-Datei mit dem Namen
berechnung.php
. - Definiere in dieser Datei eine Konstante namens
UMSATZSTEUER
, die den aktuellen Umsatzsteuersatz von 19% als Dezimalzahl (0.19) darstellt.
- Erstelle eine PHP-Datei mit dem Namen
- Rechenaufgabe durchführen:
- Definiere eine Variable
nettopreis
und weise ihr einen Wert von 50 Euro zu. - Berechne den Bruttoverkaufspreis, indem du
nettopreis
mitUMSATZSTEUER
multiplizierst und das Ergebnis zumnettopreis
addierst. - Speichere das Ergebnis in einer Variable namens
bruttopreis
.
- Definiere eine Variable
- Ergebnis ausgeben:
- Gib den berechneten
bruttopreis
mit einerecho
-Anweisung aus. Formatiere die Ausgabe so, dass sie aussagekräftig ist, z.B. „Der Bruttoverkaufspreis beträgt: EUR X.XX“.
- Gib den berechneten
PHP Array-Konstanten
Seit PHP7 kann man mit der define()
Funktion eine Array-Konstante erstellen.
// Erstellung einer Array-Konstante:
<?php
define("mehlspeisen", [
"Kaiserschmarrn",
"Pfannenkuchen",
"Dampfnudeln"
]);
echo mehlspeisen[0];
?>
Konstanten sind global
Konstanten sind automatisch global und können im gesamten Skript verwendet werden.
// Dieses Beispiel verwendet eine Konstante innerhalb einer Funktion, auch wenn sie außerhalb der Funktion definiert ist:
<?php
define("BEGRUESSUNG", "Hallo Leute!");
function meinTest() {
echo BEGRUESSUNG;
}
meinTest();
?>
Aufgabe
Probiere o.g. Codes aus, um ein Gefühl hierfür zu bekommen.
PHP Mathematik
PHP verfügt über eine Reihe von mathematischen Funktionen, mit denen man mathematische Aufgaben mit Zahlen ausführen kann.
PHP pi()-Funktion
Die pi()
Funktion gibt den Wert von PI zurück:
<?php
echo(pi()); // Ausgabe: 3.1415926535898
?>
PHP-Funktionen min() und max()
Die Funktionen min()
und max()
können verwendet werden, um den niedrigsten oder höchsten Wert in einer Liste von Argumenten zu finden:
<?php
echo(min(0, 150, 30, 20, -8, -200)); // Ausgabe ?
echo(max(0, 150, 30, 20, -8, -200)); // Ausgabe ?
?>
Aufgabe
Probiere o.g. Codes aus, um ein Gefühl hierfür zu bekommen.
PHP abs()-Funktion
Die abs()
Funktion gibt den absoluten (positiven) Wert einer Zahl zurück:
<?php
echo(abs(-6.7)); // Ausgabe ?
?>
PHP-Funktion sqrt()
Die sqrt()
Funktion (englisch square root) gibt die Quadratwurzel einer Zahl zurück:
<?php
echo(sqrt(64)); // Ausgabe ?
?>
PHP round()-Funktion
Die round()
Funktion rundet eine Kommazahl auf die nächste ganze Zahl:
<?php
echo(round(0.60)); // Ausgabe ?
echo(round(0.49)); // Ausgabe ?
?>
Zufällige Zahlen
Die rand()
Funktion generiert eine randomisierte Zufallszahl:
<?php
echo(rand()); // Ausgabe ?
?>
Um mehr Kontrolle über die Zufallszahl zu erhalten, können Sie die optionalen min- und max- Parameter hinzufügen, um die niedrigste Ganzzahl und die höchste zurückzugebende Ganzzahl anzugeben.
Wenn beispielsweise eine zufällige Ganzzahl zwischen 10 und 100 (einschließlich) erzeugt werden soll, verwendet man rand(10, 100)
:
<?php
echo(rand(10, 100)); // Ausgabe ?
?>
Aufgabe
Probiere o.g. Beispiele aus, um ein Gefühl hierfür zu bekommen.
Vollständige PHP-Mathematik-Referenz
- abs — Absolutwert bzw. Betrag
- acos — Arkuskosinus
- acosh — Areakosinus hyperbolikus
- asin — Arkussinus
- asinh — Areasinus hyperbolikus
- atan2 — Arkustangens-Variante mit zwei Parametern
- atan — Arkustangens
- atanh — Areatangens hyperbolikus
- base_convert — Wandelt einen numerischen Wert zwischen verschiedenen Zahlensystemen um
- bindec — Wandelt von binär zu dezimal um
- ceil — Rundet Brüche auf
- cos — Kosinus
- cosh — Kosinus hyperbolikus
- decbin — Wandelt von dezimal zu binär um
- dechex — Wandelt von dezimal zu hexadezimal um
- decoct — Wandelt von dezimal zu oktal um
- deg2rad — Rechnet einen Winkel von Grad in Bogenmaß um
- exp — Berechnet den Exponenten von e
- expm1 — Berechnet exp(Zahl) – 1 mit guter Genauigkeit, auch wenn Zahl nahe bei Null liegt
- fdiv — Dividiert zwei Zahlen gemäß IEEE 754
- floor — Rundet Brüche ab
- fmod — Rest einer Gleitkommadivision (Modulus)
- hexdec — Wandelt von hexadezimal zu dezimal um
- hypot — Berechnet die Länge der Hypotenuse eines rechtwinkligen Dreiecks
- intdiv — Integer-Division
- is_finite — Prüft, ob ein Wert eine gültige endliche Zahl ist
- is_infinite — Prüft, ob ein Wert unendlich ist
- is_nan — Prüft, ob ein Wert keine Zahl ist
- log10 — Dekadischer Logarithmus (Logarithmus zur Basis 10)
- log1p — Berechnet log(1 + Zahl) mit guter Genauigkeit, auch wenn Zahl nahe bei Null liegt
- log — Natürlicher Logarithmus
- max — Bestimmt den Maximalwert
- min — Bestimmt den Minimalwert
- octdec — Wandelt von oktal zu dezimal um
- pi — Liefert den Wert von Pi
- pow — Potenzfunktion
- rad2deg — Rechnet einen Winkel vom Bogenmaß in Grad um
- round — Rundet einen Gleitkommawert
- sin — Sinus
- sinh — Sinus hyperbolikus
- sqrt — Quadratwurzel
- tan — Tangens
- tanh — Tangens hyperbolikus
PHP if / else / elseif
Bedingte Anweisungen werden verwendet, um verschiedene Aktionen basierend auf verschiedenen Bedingungen auszuführen.
Sehr oft möchte man beim Schreiben von Code unterschiedliche Aktionen für unterschiedliche Bedingungen ausführen. Dazu können bedingte Anweisungen im Code verwendet werden.
In PHP haben wir die folgenden bedingten Anweisungen:
if
-Anweisung – führt einen Code aus, wenn eine Bedingung wahr istif...else
-Anweisung – führt einen Code aus, wenn eine Bedingung wahr ist, und einen anderen Code, wenn diese Bedingung falsch istif...elseif...else
-Anweisung – führt verschiedene Codes für mehr als zwei Bedingungen ausswitch
-Anweisung – wählt einen von vielen auszuführenden Codeblöcken aus
PHP – Die if-Anweisung
Die if
-Anweisung führt einen Code aus, wenn eine Bedingung wahr ist.
<?php
// Syntax
if (bedingung) {
Code, der ausgeführt wird, wenn die Bedingung war ist;
}
?>
Ausgabe „Guten Tag!“ wenn die aktuelle Uhrzeit (HOUR) kleiner als 20 ist:
<?php
// Syntax
if (bedingung) {
Code, der ausgeführt wird, wenn die Bedingung wahr ist;
} else {
Code, der ausgeführt wird, wenn die Bedingung falsch ist;
}
$zeit = date("H");
if ($zeit < "20") {
echo "Guten Tag!";
}
?>
PHP – if…else-Anweisung
Die if...else
-Anweisung führt einen Code aus, wenn eine Bedingung wahr ist, und einen anderen Code, wenn diese Bedingung falsch ist.
<?php
// Syntax
if (bedingung) {
Code, der ausgeführt wird, wenn die Bedingung wahr ist;
} else {
Code, der ausgeführt wird, wenn die Bedingung falsch ist;
}
?>
Ausgabe „Guten Tag!“ wenn die aktuelle Uhrzeit unter 20 ist, und „Gute Nacht!“ ansonsten:
<?php
$zeit = date("H");
if ($zeit < "20") {
echo "Guten Tag!";
} else {
echo "Gute Nacht!";
}
?>
PHP if…elseif…else-Anweisung
Die if...elseif...else
Anweisung führt verschiedene Codes für mehr als zwei Bedingungen aus.
<?php
// Syntax
if (bedingung) {
Code, der ausgeführt wird, wenn die Bedingung wahr ist;
} elseif (bedingung) {
Code, der ausgeführt wird, wenn die erste Bedingung falsch ist und diese Bedingung wahr ist;
} else {
Code, der ausgeführt wird, wenn alle Bedingungen falsch sind;
}
?>
Ausgabe „Guten Morgen!“ wenn die aktuelle Uhrzeit kleiner als 10 ist, und „Guten Tag!“ wenn die aktuelle Zeit kleiner als 20 ist. Andernfalls wird „Gute Nacht!“ ausgegeben:
<?php
$zeit = date("H");
if ($zeit < "10") {
echo "Guten Morgen!";
} elseif ($zeit < "20") {
echo "Guten Tag!";
} else {
echo "Gute Nacht!";
}
?>
Aufgabe
Aufgabe 1: Passwortüberprüfung
Ziel: Überprüfe, ob ein eingegebenes Passwort den Anforderungen entspricht.
- Anweisungen:
- Definiere eine Konstante
MIN_LAENGE
mit dem Wert 8. - Definiere eine Variable
$passwort
und weise ihr einen Wert zu. - Verwende eine if-else Anweisung, um zu überprüfen, ob die Länge des Passworts mindestens
MIN_LAENGE
beträgt. - Gib eine entsprechende Nachricht aus, ob das Passwort akzeptiert wird oder nicht.
- Definiere eine Konstante
Aufgabe 2: Altersüberprüfung
Ziel: Entscheide, welche Art von Ticket eine Person basierend auf ihrem Alter kaufen sollte.
- Anweisungen:
- Definiere eine Variable
$alter
. - Verwende eine if-elseif-else Anweisung, um zu prüfen, ob das Alter unter 18, zwischen 18 und 65, oder über 65 ist.
- Gib für jede Altersgruppe eine spezifische Nachricht aus (z.B. „Kinderkarte“, „Erwachsenenkarte“, „Seniorenkarte“).
- Definiere eine Variable
Aufgabe 3: Temperaturwarnung
Ziel: Gib eine Warnung aus, wenn die Temperatur bestimmte Schwellenwerte überschreitet.
- Anweisungen:
- Definiere eine Konstante
GEFRIERPUNKT
mit dem Wert 0. - Definiere eine Variable
$temperatur
und weise ihr einen Wert zu. - Verwende if-else Anweisungen, um zu prüfen, ob die Temperatur unter
GEFRIERPUNKT
liegt, und gib eine Warnung aus.
- Definiere eine Konstante
Aufgabe 4: Benutzerrollen
Ziel: Bestimme die Zugriffsrechte basierend auf der Rolle eines Benutzers.
- Anweisungen:
- Definiere eine Variable
$rolle
mit den möglichen Werten „Admin“, „Editor“, „Benutzer“. - Verwende eine if-elseif-else Struktur, um zu entscheiden, welche Nachricht ausgegeben wird („Zugriff auf alle Daten“, „Zugriff auf Editieren“, „Zugriff auf Lesen“).
- Definiere eine Variable
Aufgabe 5: Rabattberechnung
Ziel: Berechne den Endpreis eines Produktes nach Anwendung eines Rabatts, wenn bestimmte Bedingungen erfüllt sind.
- Anweisungen:
- Definiere eine Konstante
STANDARD_RABATT
mit dem Wert 0.05 (5%). - Definiere Variablen
$ursprungspreis
und$istWochenende
. - Wenn
$istWochenende
wahr ist, wende denSTANDARD_RABATT
an. Verwende eine if-else Anweisung, um den Endpreis zu berechnen. - Gib den ursprünglichen Preis und den Endpreis aus.
- Definiere eine Konstante
Übungsaufgaben
1. Aufgabe
Erstelle eine Datei test.php und führe verschiedene Programme aus o.g. Beispielen durch. Verwende dabei verschiedene:
- Operatoren
- Konstanten
- if…else…elseif Anweisungen