⊗ppSpFnIFC 12 of 83 menu

Callbacks in ingebouwde functies in PHP

In PHP zijn er een aantal ingebouwde functies die een callback als parameter accepteren. We bestuderen het algemene werkingsprincipe aan de hand van de functie array_map. Deze functie accepteert als eerste parameter een callback, en als tweede - een array. De functie past de callback toe op elk element van de array en geeft de gewijzigde array terug.

Laten we eens kijken naar de opties voor het gebruik van deze functie, rekening houdend met de kennis die we eerder hebben opgedaan.

Optie 1

Halen we uit elk element van de array de vierkantswortel met behulp van de ingebouwde functie sqrt. Om dit te doen, geven we als callback-parameter een string door met de naam van deze functie:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map('sqrt', $arr); var_dump($res); ?>

Optie 2

Laten we elk element van de array kwadrateren met behulp van een door ons gemaakte gewone functie. Om dit te doen, geven we als callback-parameter een string door met de naam van deze functie:

<?php $arr = [1, 2, 3, 4, 5]; function func($num) { return $num ** 2; } $res = array_map('func', $arr); var_dump($res); ?>

Optie 3

Laten we onze functie omzetten naar een anonieme functie, opgeslagen in een variabele:

<?php $arr = [1, 2, 3, 4, 5]; $func = function ($num) { return $num ** 2; }; $res = array_map($func, $arr); var_dump($res); ?>

Optie 4

Laten we de anonieme functie direct als parameter doorgeven:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(function ($num) { return $num ** 2; }, $arr); var_dump($res); ?>

Optie 5

Laten we een arrow function gebruiken:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(fn ($num) => $num ** 2, $arr); var_dump($res); ?>

Optie 6

Stel dat de macht, waartoe het getal verheven moet worden, wordt ingesteld door een externe variabele van de callback. Laten we deze variabele gebruiken door er toegang toe te krijgen via use:

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(function ($num) use ($pow) { return $num ** $pow; }, $arr); var_dump($res); ?>

Optie 7

Laten we de vorige code herschrijven met een arrow function. Nu is de variabele $pow automatisch beschikbaar:

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(fn ($num) => $num ** $pow, $arr); var_dump($res); ?>

Praktische opdrachten

Gegeven een array met strings. Zet de tekst van elk element in de array om naar hoofdletters.

Gegeven een array met strings. Keer de tekst van elk element in de array om, zodat de karakters in omgekeerde volgorde staan.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren