Funktionen definieren und aufrufen
Erstellen Sie eigene Funktionen mit Parametern und Rückgabewerten.
Funktionen definieren und aufrufen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum Funktionen?
Mit Funktionen können Sie wiederverwendbare Logik bündeln und ihr einen Namen geben, sodass Sie sie beliebig oft aufrufen können, ohne Code zu wiederholen. Vorteile:
- Wiederholungen vermeiden (DRY-Prinzip)
- Einfacheres Testen und Debuggen
- Selbstdokumentierender Code
Eine Funktion definieren
Verwenden Sie das Schlüsselwort function, einen Namen, optionale Parameter und einen Rumpf:
<?php
function greet(string $name): string {
return 'Hello, ' . $name . '!';
}
echo greet('Alice'); // Hello, Alice!Parameter und Argumente
Parameter sind die Variablennamen in der Definition; Argumente sind die tatsächlichen Werte, die beim Aufruf übergeben werden:
<?php
function add(int $a, int $b): int {
return $a + $b; // $a and $b are parameters
}
$sum = add(3, 4); // 3 and 4 are arguments
echo $sum; // 7Rückgabewerte
Verwenden Sie return, um einen Wert an den Aufrufer zurückzugeben. Eine Funktion ohne return gibt NULL zurück:
<?php
function square(float $n): float {
return $n * $n;
}
function logMessage(string $msg): void {
echo '[LOG] ' . $msg . PHP_EOL;
// void functions must not return a value
}
echo square(4); // 16
logMessage('started'); // [LOG] startedÜbergabe per Wert vs. Referenz
Standardmäßig übergibt PHP Argumente per Wert (als Kopie). Stellen Sie & voran, um sie per Referenz zu übergeben:
<?php
function doubleByValue(int $n): void {
$n *= 2; // changes only the local copy
}
function doubleByRef(int &$n): void {
$n *= 2; // changes the original
}
$x = 5;
doubleByValue($x);
echo $x; // 5 — unchanged
doubleByRef($x);
echo $x; // 10 — changedMehrere Rückgabepunkte
Eine Funktion kann mehrere return-Anweisungen für vorzeitige Rückgaben enthalten:
<?php
function divide(float $a, float $b): ?float {
if ($b === 0.0) {
return null; // early return on error
}
return $a / $b;
}
var_dump(divide(10, 0)); // NULL
echo divide(10, 2); // 5Function Hoisting
PHP-Funktionen sind unabhängig von ihrer Definitionsposition in der gesamten Datei verfügbar – anders als in JavaScript müssen die meisten PHP-Funktionen NICHT vor ihrer Verwendung deklariert werden:
<?php
echo double(5); // 10 — works even though double is defined below
function double(int $n): int {
return $n * 2;
}
// Exception: functions inside conditionals ARE position-sensitiveRekursive Funktionen
Eine Funktion, die sich selbst aufruft, ist rekursiv. Stellen Sie immer einen Basisfall sicher, um eine unendliche Rekursion zu vermeiden:
<?php
function factorial(int $n): int {
if ($n <= 1) return 1; // base case
return $n * factorial($n - 1); // recursive call
}
echo factorial(5); // 120Typdeklarationen
PHP 7+ unterstützt Typangaben für Parameter und Rückgabewerte. PHP 8 hat mixed, never und Schnittmengentypen hinzugefügt:
<?php
declare(strict_types=1);
function clamp(int $value, int $min, int $max): int {
return max($min, min($max, $value));
}
echo clamp(150, 0, 100); // 100
echo clamp(-5, 0, 100); // 0
echo clamp(42, 0, 100); // 42Benannte Funktionen vs. integrierte Funktionen
PHP wird mit Tausenden integrierten Funktionen ausgeliefert. Sie können jederzeit zur Laufzeit prüfen, ob eine Funktion existiert:
<?php
if (function_exists('mb_strlen')) {
echo mb_strlen('こんにちは'); // 5 — correct multi-byte length
} else {
echo strlen('こんにちは'); // 15 — byte count, wrong for UTF-8
}Mehrere Werte zurückgeben
Geben Sie mehrere Werte zurück, indem Sie ein Array zurückgeben und es am Aufrufort entpacken:
<?php
function minMax(array $arr): array {
return [min($arr), max($arr)];
}
[$min, $max] = minMax([3, 1, 7, 2, 9]);
echo "Min: $min, Max: $max"; // Min: 1, Max: 9Schnelltest
Was gibt eine PHP-Funktion ohne explizite return-Anweisung zurück?
Zusammenfassung: Funktionen
Grundlagen der PHP-Funktionen:
- Definieren Sie Funktionen mit
function name(params): returnType - Übergabe per Wert (Standard) oder per Referenz mit
& - Funktionen ohne return geben NULL zurück
- Rekursion erfordert einen Basisfall
- Funktionen sind in der gesamten Datei verfügbar (Hoisting)
Als Nächstes: Standard- und variadische Parameter.
Häufig gestellte Fragen
Ist die Lektion „Funktionen definieren und aufrufen“ kostenlos?
Ja — der vollständige Text von „Funktionen definieren und aufrufen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Funktionen definieren und aufrufen“?
Erstellen Sie eigene Funktionen mit Parametern und Rückgabewerten. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Funktionen definieren und aufrufen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Funktionen definieren und aufrufen
- Standard- und variadische Parameter
- Variablenbereich: lokal und global
- Anonyme Funktionen und Closures