Definition og kald af funktioner
Opret Deres egne funktioner med parametre og returværdier.
Definition og kald af funktioner er en gratis PHP Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i PHP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. PHP Academy-kurset indeholder 4 lektioner i alt.
Hvorfor funktioner?
Funktioner lader dig samle genbrugelig logik og give den et navn, så du kan kalde den flere gange uden at gentage kode. Fordele:
- Undgå gentagelser (DRY-princippet)
- Lettere test og fejlfinding
- Selvdokumenterende kode
Definition af en funktion
Brug nøgleordet function, et navn, valgfri parametre og et indhold:
<?php
function greet(string $name): string {
return 'Hello, ' . $name . '!';
}
echo greet('Alice'); // Hello, Alice!Parametre og argumenter
Parametre er variabelnavnene i definitionen; argumenter er de faktiske værdier, der sendes med ved kaldet:
<?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; // 7Returværdier
Brug return til at sende en værdi tilbage til den kaldende kode. En funktion uden returnering returnerer NULL:
<?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] startedVideresendelse efter værdi eller reference
Som standard sender PHP argumenter efter værdi (en kopi). Sæt & foran for at sende efter reference:
<?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 — changedFlere returneringspunkter
En funktion kan have flere return-sætninger for tidlige afslutninger:
<?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); // 5Funktionsløftning
PHP-funktioner er tilgængelige i hele en fil, uanset hvor de er defineret — i modsætning til JavaScript behøver de fleste PHP-funktioner IKKE at blive erklæret før brug:
<?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 funktioner
En funktion, der kalder sig selv, er rekursiv. Sørg altid for et basistilfælde for at undgå uendelig rekursion:
<?php
function factorial(int $n): int {
if ($n <= 1) return 1; // base case
return $n * factorial($n - 1); // recursive call
}
echo factorial(5); // 120Typedeklarationer
PHP 7+ understøtter typeangivelser for parametre og returværdier. PHP 8 tilføjede mixed, never og skæringstyper:
<?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); // 42Navngivne funktioner vs indbyggede funktioner
PHP leveres med tusindvis af indbyggede funktioner. Du kan altid kontrollere under kørsel, om en funktion findes:
<?php
if (function_exists('mb_strlen')) {
echo mb_strlen('こんにちは'); // 5 — correct multi-byte length
} else {
echo strlen('こんにちは'); // 15 — byte count, wrong for UTF-8
}Returnering af flere værdier
Returnér flere værdier ved at returnere et array og destrukturere det på kaldestedet:
<?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: 9Hurtigt tjek
Hvad returnerer en PHP-funktion uden en eksplicit return-sætning?
Opsamling: Funktioner
Det grundlæggende om PHP-funktioner:
- Definér med
function name(params): returnType - Send efter værdi (standard) eller efter reference med
& - Funktioner uden returnering giver NULL tilbage
- Rekursion kræver et basistilfælde
- Funktioner er tilgængelige i hele filen (funktionsløftning)
Næste emne: standardparametre og variable antal parametre.
Lær PHP med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 49
- Lektioner
- 195
Ofte stillede spørgsmål
Er lektionen “Definition og kald af funktioner” gratis?
Ja — hele teksten til “Definition og kald af funktioner” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af PHP Academy-kurset, skal du opgradere til CoddyKit PRO. PHP Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Definition og kald af funktioner”?
Opret Deres egne funktioner med parametre og returværdier. Du øver dig i PHP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på PHP Academy?
Der kræves ingen tidligere erfaring. PHP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Definition og kald af funktioner”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne PHP Academy-lektion?
Ja. Alle PHP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Definition og kald af funktioner
- Standard- og variadiske parametre
- Variabelscope: lokal og global
- Anonyme funktioner og closures