⊗ppSpFnIFC 12 of 83 menu

Callbacks i innebygde funksjoner i PHP

I PHP finnes det en rekke innebygde funksjoner som tar imot callbacks som parameter. Vi vil studere den generelle prinsippet for arbeid med dem ved å bruke funksjonen array_map som eksempel. Denne funksjonen tar imot en callback som første parameter, og en array som andre parameter. Funksjonen bruker callbacken på hvert element i arrayen og returnerer den modifiserte arrayen.

La oss se på alternativer for bruk av denne funksjonen med hensyn til kunnskapen vi har fått tidligere.

Alternativ 1

La oss trekke ut kvadratroten fra hvert element i arrayen ved hjelp av den innebygde funksjonen sqrt. For å gjøre dette, sender vi inn en streng med navnet på denne funksjonen som callback-parameter:

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

Alternativ 2

La oss opphøye hvert element i arrayen i andre potens ved hjelp av en vanlig funksjon vi har opprettet. For å gjøre dette, sender vi inn en streng med navnet på denne funksjonen som callback-parameter:

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

Alternativ 3

La oss endre funksjonen vår til en anonym funksjon, som er lagret i en variabel:

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

Alternativ 4

La oss sende den anonyme funksjonen som en parameter:

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

Alternativ 5

La oss bruke en pilfunksjon:

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

Alternativ 6

La oss nå si at potensen som tallet skal opphøyes i, er gitt av en ekstern variabel for callbacken. La oss bruke denne variabelen ved å få tilgang til den 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); ?>

Alternativ 7

La oss omskrive forrige kode ved å bruke en pilfunksjon. Nå vil variabelen $pow være tilgjengelig automatisk:

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

Praktiske oppgaver

Det er gitt en array med strenger. Oversett teksten i hvert element i arrayen til store bokstaver.

Det er gitt en array med strenger. Snur teksten i hvert element i arrayen slik at tegnene står i omvendt rekkefølge.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis