⊗ppSpFnIFC 12 of 83 menu

Callbacks i inbyggda funktioner i PHP

I PHP finns det ett antal inbyggda funktioner som tar callbacks som parameter. Vi kommer att studera den allmänna principen för att arbeta med dem med exemplet funktionen array_map. Denna funktion tar en callback som första parameter och en array som den andra. Funktionen applicerar callbacken på varje element i arrayen och returnerar den modifierade arrayen.

Låt oss titta på alternativen för att använda denna funktion med hänsyn till de kunskaper vi tidigare har fått.

Alternativ 1

Låt oss extrahera kvadratroten ur varje element i arrayen med hjälp av den inbyggda funktionen sqrt. För att göra detta skickar vi vi en sträng med namnet på denna funktion som callback-parameter:

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

Alternativ 2

Låt oss upphöja varje element i arrayen till kvadrat med hjälp av en vanlig funktion som vi skapat. För att göra detta skickar vi en sträng med namnet på denna funktion 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

Låt oss omvandla vår funktion till en anonym funktion, som lagras 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

Låt oss skicka den anonyma funktionen som en parameter:

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

Alternativ 5

Låt oss använda en arrow function:

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

Alternativ 6

Låt oss nu säga att exponenten som talet ska upphöjas till, anges av en extern variabel till callbacken. Låt oss använda denna variabel genom att få tillgång till 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

Låt oss skriva om föregående kod med en arrow function. Nu kommer variabeln $pow att vara tillgänglig automatiskt:

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

Praktiska uppgifter

En array med strängar är given. Översätt texten för varje element i arrayen till versaler.

En array med strängar är given. Vänd på texten för varje element i arrayen så att tecknen kommer i omvänd ordning.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa