⊗ppSpFnCb 11 of 83 menu

Callback-funksies in PHP

'n Callback is 'n funksie wat as 'n parameter aan 'n ander funksie oorgedra word.

Kom ons kyk na 'n voorbeeld. Gestel ons het 'n funksie wat as eerste parameter 'n nommer aanvaar, en as tweede parameter - 'n callback:

<?php function func($num, $calb) { } ?>

Laat ons maak dat binne die funksie ons callback vir die oorgedraagde nommer aangeroep word:

<?php function func($num, $calb) { echo $calb($num); } ?>

Kom ons kyk nou watter opsies daar is om 'n callback aan ons funksie oor te dra.

Opsie 1

Ons callback kan 'n gewone funksie wees:

<?php function calb($num) { return $num ** 2; } ?>

In hierdie geval sal ons die naam van ons funksie as callback oordra:

<?php func(3, 'calb'); ?>

Binne die funksie func sal ons callback by die naam aangeroep word.

Opsie 2

Ons callback kan 'n anonieme funksie wees, gestoor in 'n veranderlike:

<?php $calb = function($num) { return $num ** 2; }; ?>

In hierdie geval dra ons die veranderlike met ons funksie as parameter oor:

<?php func(3, $calb); ?>

Opsie 3

Jy kan die anonieme funksie direk as parameter oordra:

<?php func(3, function($num) { return $num ** 2; }); ?>

Opsie 4

Jy kan die kode verkort deur 'n pylfunksie te gebruik:

<?php func(3, fn($num) => $num ** 2); ?>

Praktiese take

Gegee 'n funksie wat 'n skikking en 'n callback as parameter aanvaar, wat op elke element van die skikking toegepas sal word:

<?php function func($arr, $calb) { $res = []; foreach ($arr as $elem) { $res[] = $calb($elem); } return $res; } ?>

Roep hierdie funksie aan, en dra as parameter 'n skikking met nommers oor en 'n callback wat die oorgedraagde nommer kwadreer.

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