Funktioiden määrittäminen ja kutsuminen
Omien funktioiden luominen parametrien ja palautusarvojen avulla.
Funktioiden määrittäminen ja kutsuminen on ilmainen PHP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu PHP Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. PHP Academy-kurssilla on yhteensä 4 oppituntia.
Miksi funktioita?
Funktioilla voit koota uudelleenkäytettävän logiikan ja antaa sille nimen, jotta voit kutsua sitä useita kertoja toistamatta koodia. Hyödyt:
- Toiston välttäminen (DRY-periaate)
- Helpompi testaaminen ja virheenkorjaus
- Itsensä dokumentoiva koodi
Funktion määrittäminen
Käytä avainsanaa function, nimeä, valinnaisia parametreja ja runkoa:
<?php
function greet(string $name): string {
return 'Hello, ' . $name . '!';
}
echo greet('Alice'); // Hello, Alice!Parametrit ja argumentit
Parametrit ovat määrittelyssä käytettyjä muuttujanimiä; argumentit ovat kutsun yhteydessä välitettäviä todellisia arvoja:
<?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; // 7Palautusarvot
Käytä komentoa return arvon palauttamiseen kutsujalle. Funktio, jossa ei ole return-lausetta, palauttaa arvon 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] startedArvon ja viitteen välittäminen
Oletusarvoisesti PHP välittää argumentit arvona (kopiona). Lisää eteen &, jos haluat välittää argumentin viitteenä:
<?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 — changedUseita palautuskohtia
Funktiossa voi olla useita return-lauseita aikaisia poistumisia varten:
<?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); // 5Funktioiden määrittelyjärjestys
PHP-funktiot ovat käytettävissä koko tiedostossa riippumatta siitä, missä ne on määritelty – toisin kuin JavaScriptissä, useimpia PHP-funktioita EI tarvitse määritellä ennen niiden käyttöä:
<?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-sensitiveRekursiiviset funktiot
Funktio, joka kutsuu itseään, on rekursiivinen. Määritä aina perustapaus loputtoman rekursion välttämiseksi:
<?php
function factorial(int $n): int {
if ($n <= 1) return 1; // base case
return $n * factorial($n - 1); // recursive call
}
echo factorial(5); // 120Tyyppimääritykset
PHP 7+ tukee parametrien ja palautusarvojen tyyppivihjeitä. PHP 8 lisäsi tyypit mixed, never ja leikkaustyypit:
<?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); // 42Nimetyt ja sisäänrakennetut funktiot
PHP sisältää tuhansia sisäänrakennettuja funktioita. Voit aina tarkistaa ajon aikana, onko funktio olemassa:
<?php
if (function_exists('mb_strlen')) {
echo mb_strlen('こんにちは'); // 5 — correct multi-byte length
} else {
echo strlen('こんにちは'); // 15 — byte count, wrong for UTF-8
}Useiden arvojen palauttaminen
Palauta useita arvoja palauttamalla taulukko ja pura se kutsukohdassa:
<?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: 9Pikatarkistus
Mitä PHP-funktio palauttaa, jos siinä ei ole eksplisiittistä return-lausetta?
Kertaus: funktiot
PHP-funktioiden perusteet:
- Määritä funktio muodolla
function name(params): returnType - Välitä argumentit arvona (oletus) tai viitteenä käyttäen merkkiä
& - Funktiot, joissa ei ole return-lausetta, palauttavat arvon NULL
- Rekursio edellyttää perustapausta
- Funktiot ovat käytettävissä koko tiedostossa (määrittelyjärjestys)
Seuraavaksi: oletus- ja vaihtuvamittaiset parametrit.
Opi PHP tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 49
- Oppitunnit
- 195
Usein kysytyt kysymykset
Onko oppitunti ”Funktioiden määrittäminen ja kutsuminen” ilmainen?
Kyllä – oppitunnin ”Funktioiden määrittäminen ja kutsuminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko PHP Academy-kurssin, päivitä CoddyKit PROhon. PHP Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Funktioiden määrittäminen ja kutsuminen”?
Omien funktioiden luominen parametrien ja palautusarvojen avulla. Harjoittelet PHP Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni PHP Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin PHP Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Funktioiden määrittäminen ja kutsuminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä PHP Academy-oppitunnilla?
Kyllä. Jokainen PHP Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Funktioiden määrittäminen ja kutsuminen
- Oletus- ja variadiset parametrit
- Muuttujien näkyvyysalue: paikallinen ja globaali
- Nimettömät funktiot ja sulkeumat