⊗ppSpFnIFC 12 of 83 menu

Callbacks in Ingeboude Funksies in PHP

In PHP is daar 'n reeks ingeboude funksies, wat callbacks as parameter aanvaar. Ons sal die algemene werksbeginsel daarvan bestudeer aan die hand van die voorbeeld van die funksie array_map. Hierdie funksie aanvaar 'n callback as die eerste parameter, en 'n array as die tweede. Die funksie pas die callback op elke element van die array toe en gee die gewysigde array terug.

Kom ons kyk na die gebruiksmoonlijkhede van hierdie funksie in die lig van ons vorige kennis.

Opsie 1

Kom ons haal die vierkantswortel uit elke element van die array deur die ingeboude funksie sqrt. Om dit te doen, gee ons die naam van hierdie funksie as 'n string deur as die callback parameter:

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

Opsie 2

Kom ons verhef elke element van die array tot die tweede mag met 'n gewone funksie wat ons geskep het. Om dit te doen, gee ons die naam van hierdie funksie as 'n string deur as die callback parameter:

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

Opsie 3

Kom ons skakel ons funksie om na 'n anonieme funksie, gestoor in 'n veranderlike:

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

Opsie 4

Gee die anonieme funksie direk as parameter:

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

Opsie 5

Gebruik 'n pylfunksie:

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

Opsie 6

Laat die eksponent waarop die getal verhef moet word, nou deur 'n eksterne veranderlike van die callback bepaal word. Kom ons gebruik hierdie veranderlike deur toegang daartoe te verkry 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); ?>

Opsie 7

Herskryf die vorige kode met 'n pylfunksie. Nou sal die veranderlike $pow outomaties beskikbaar wees:

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

Praktiese Take

Gegee 'n array met strings. Sit die teks van elke element van die array om na hoofletters.

Gegee 'n array met strings. Keer die teks van elke element van die array om, sodat die karakters in omgekeerde volgorde verskyn.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp