PHP Academy · leksjon

Definere og kalle funksjoner

Opprett egne funksjoner med parametere og returverdier.

Leksjon 1 av 413 trinn

Definere og kalle funksjoner er en gratis leksjon i PHP Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i PHP Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i PHP Academy inneholder totalt 4 leksjoner.

Hvorfor funksjoner?

Funksjoner lar deg samle gjenbrukbar logikk og gi den et navn, slik at du kan kalle den flere ganger uten å gjenta koden. Fordeler:

  • Unngå gjentakelser (DRY-prinsippet)
  • Enklere testing og feilsøking
  • Selvdokumenterende kode

Definere en funksjon

Bruk nøkkelordet function, et navn, valgfrie parametere og en kropp:

<?php
function greet(string $name): string {
    return 'Hello, ' . $name . '!';
}

echo greet('Alice'); // Hello, Alice!

Parametere og argumenter

Parametere er variabelnavnene i definisjonen, mens argumenter er de faktiske verdiene som sendes inn ved kallet:

<?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;  // 7

Returverdier

Bruk return for å sende en verdi tilbake til den som kaller funksjonen. En funksjon uten return 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] started

Sende med verdi kontra referanse

Som standard sender PHP argumenter med verdi (en kopi). Sett & foran for å sende med referanse:

<?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 — changed

Flere returpunkter

En funksjon kan ha flere return-setninger for tidlige avslutninger:

<?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);         // 5

Funksjonsheising

PHP-funksjoner er tilgjengelige i hele filen, uavhengig av hvor de er definert – i motsetning til JavaScript trenger de fleste PHP-funksjoner IKKE å være deklarert før de brukes:

<?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-sensitive

Rekursive funksjoner

En funksjon som kaller seg selv, er rekursiv. Sørg alltid for et basistilfelle for å unngå uendelig rekursjon:

<?php
function factorial(int $n): int {
    if ($n <= 1) return 1;  // base case
    return $n * factorial($n - 1);  // recursive call
}

echo factorial(5);  // 120

typedeklarasjoner

PHP 7+ støtter typehinting for parametere og returverdier. PHP 8 la til mixed, never og snitt-typer:

<?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);  // 42

Navngitte kontra innebygde funksjoner

PHP leveres med tusenvis av innebygde funksjoner. Du kan alltid kontrollere ved kjøring om en funksjon finnes:

<?php
if (function_exists('mb_strlen')) {
    echo mb_strlen('こんにちは');  // 5 — correct multi-byte length
} else {
    echo strlen('こんにちは');      // 15 — byte count, wrong for UTF-8
}

Returnere flere verdier

Returner flere verdier ved å returnere en tabell og dekomponere den der funksjonen kalles:

<?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: 9

Rask sjekk

Hva returnerer en PHP-funksjon uten en eksplisitt return-setning?

Oppsummering: Funksjoner

Det viktigste om PHP-funksjoner:

  • Definer med function name(params): returnType
  • Send med verdi (standard) eller med referanse ved hjelp av &
  • Funksjoner uten return gir tilbake NULL
  • Rekursjon krever et basistilfelle
  • Funksjoner er tilgjengelige i hele filen (funksjonsheising)

Neste: standardparametere og variadiske parametere.

Gratis å komme i gang

Lær deg PHP med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
49
Leksjoner
195

Ofte stilte spørsmål

Er leksjonen «Definere og kalle funksjoner» gratis?

Ja – hele teksten i «Definere og kalle funksjoner» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av PHP Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i PHP Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Definere og kalle funksjoner»?

Opprett egne funksjoner med parametere og returverdier. Du øver på PHP Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med PHP Academy?

Ingen tidligere erfaring er nødvendig. PHP Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Definere og kalle funksjoner»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne PHP Academy-leksjonen?

Ja. Alle PHP Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Definere og kalle funksjoner
  2. Standard- og variadiske parametere
  3. Variabelomfang: lokalt og globalt
  4. Anonyme funksjoner og closures
← Tilbake til PHP Academy