⊗ppSpFnCb 11 of 83 menu

Callback függvények PHP-ben

Callback függvénynek nevezzük azt a függvényt, amelyet paraméterként adunk át egy másik függvénynek.

Nézzünk egy példát. Tegyük fel, hogy van egy függvényünk, amely első paraméterként egy számot fogad, második paraméterként pedig egy callback-et:

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

Tegyük úgy, hogy a függvényen belül a callbackünk meghívásra kerüljön az átadott számra:

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

Nézzük most meg, milyen lehetőségek vannak a callback függvény átadására.

1. lehetőség

A callback lehet egy sima függvény:

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

Ebben az esetben a callbackként a függvényünk nevét adjuk át:

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

A func függvényen belül a callback a neve alapján lesz meghívva.

2. lehetőség

A callback lehet egy anonim függvény, amelyet egy változóba mentünk:

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

Ebben az esetben paraméterként átadjuk a függvényt tartalmazó változót:

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

3. lehetőség

Az anonim függvényt közvetlenül át is adhatjuk paraméterként:

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

4. lehetőség

A kód rövidíthető nyíl függvény használatával:

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

Gyakorlati feladatok

Adott egy függvény, amely paraméterként egy tömböt és egy callback-et fogad, amely a tömb minden elemére alkalmazva lesz:

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

Hívja meg ezt a függvényt, paraméterként átadva egy számokat tartalmazó tömböt és egy callback-et, amely az átadott számot négyzetre emeli.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás