Standardwerte für Parameter
Teil des Abschnitts Grundlagen der PHP-Journey von Coddy. Lektion 64 von 71.
Manchmal möchtest du, dass ein Funktionsparameter einen Ersatzwert hat, wenn kein Argument übergeben wird. Mit Standardwerten für Parameter kannst du festlegen, welchen Wert ein Parameter haben soll, wenn der Aufrufer keinen angibt.
Um einen Standardwert festzulegen, weise ihn direkt in der Funktionsdeklaration mit dem Operator = zu:
<?php
function greet($name = "Guest") {
echo "Hello, $name!\n";
}
greet("Alice");
greet();
?>Dies gibt Folgendes aus:
Hello, Alice!
Hello, Guest!Wenn du greet("Alice") aufrufst, überschreibt das Argument den Standardwert. Wenn du greet() ohne Argument aufrufst, verwendet PHP stattdessen "Guest".
Du kannst erforderliche und optionale Parameter mischen, aber Parameter mit Standardwerten müssen nach den erforderlichen Parametern stehen:
<?php
function createUser($name, $role = "member") {
return "$name is a $role";
}
echo createUser("Alice") . "\n";
echo createUser("Bob", "admin");
?>Dies gibt aus:
Alice is a member
Bob is a adminDer erste Parameter $name ist erforderlich, während $role standardmäßig auf "member" gesetzt wird, wenn er nicht angegeben wird. Dieses Muster macht deine Funktionen flexibler, ohne dass Aufrufer immer jedes Argument angeben müssen.
Aufgabe
EinfachLies zwei Eingabezeilen ein:
- Einen Produktnamen (z. B.
Laptop) - Eine Menge (z. B.
5). Diese Eingabe kann leer sein
Erstelle eine Funktion namens formatOrder, die zwei Parameter akzeptiert: $product (erforderlich) und $quantity (optional, standardmäßig 1). Die Funktion soll eine Zeichenkette im folgenden Format zurückgeben:
Order: [quantity]x [product]Wenn die Mengeneingabe leer ist, rufe die Funktion nur mit dem Produktnamen auf (wobei die Standardmenge verwendet wird). Andernfalls rufe sie mit beiden Werten auf.
Gib das zurückgegebene Ergebnis aus.
Beispiel 1:
Wenn die Eingaben Laptop und 5 lauten, sollte die Ausgabe wie folgt aussehen:
Order: 5x LaptopBeispiel 2:
Wenn die Eingaben Keyboard und eine leere Zeile lauten, sollte die Ausgabe wie folgt aussehen:
Order: 1x KeyboardBeispiel 3:
Wenn die Eingaben Monitor und 3 lauten, sollte die Ausgabe wie folgt aussehen:
Order: 3x MonitorProbier es selbst
<?php
// Eingabe lesen
$product = trim(fgets(STDIN));
$quantity = trim(fgets(STDIN));
// TODO: Erstelle die formatOrder-Funktion mit $product (erforderlich) und $quantity (optional, Standardwert 1)
// Die Funktion sollte einen String im Format zurückgeben: "Order: [quantity]x [product]"
// TODO: Rufe die Funktion entsprechend auf, je nachdem ob quantity leer ist oder nicht
// Wenn quantity leer ist, rufe nur mit product auf (Standardwert verwenden)
// Andernfalls rufe mit product und quantity auf
// Das Ergebnis ausgeben
echo $result;
?>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Vergleichs- und logische Operatoren
VergleichsoperatorenGleichheit und IdentitätLogische Operatoren Teil 1Logische Operatoren Teil 2Zusammenfassung – Einfache Logik2Variablen und Datentypen
ZahlenStrings und AnführungszeichenBoolesche WerteNamenskonventionenRückblick – VariableninitialisierungLeere VariablenString-VerkettungBenutzereingabenIn andere Datentypen umwandeln5Bedingte Logik
If-AnweisungIf - ElseDer ternäre OperatorNull-Koaleszenz-OperatorSwitch-AnweisungZusammenfassung – Entscheidungen treffen8Schleifen
For-SchleifeWhile-SchleifeForeach-SchleifeSchleifen mit Schlüsseln und WertenBreak-AnweisungContinue-AnweisungRückblick – Iterieren über Daten11Abschließende Herausforderungen
Herausforderung – FakultätsberechnungHerausforderung – Längstes WortHerausforderung – Vokalzähler3Grundlegende Operatoren
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorZusammengesetzte ZuweisungInkrement/DekrementOperatorrangfolgeRückblick – Einfache BerechnungenString-OperatorenÜbe selbstständig: Online-PHP-Compiler