⊗ppSpFnCb 11 of 83 menu

PHP-də callback funksiyaları

Callback başqa bir funksiyaya parametr kimi ötürülən funksiyaya deyilir.

Gəlin bir nümunəyə baxaq. Tutaq ki, bizim bir funksiyamız var ki, birinci parametr kimi bir rəqəm, ikinci parametr kimi isə bir callback qəbul edir:

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

Gəlin elə edək ki, funksiyanın daxilində bizim callbackimiz ötürülən rəqəm üçün çağırılsın:

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

İndi gəlin görək funksiyamıza callback ötürməyin hansı variantları var.

Variant 1

Bizim callbackimiz adi bir funksiya ola bilər:

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

Bu halda callback kimi biz öz funksiyamızın adını ötürəcəyik:

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

func funksiyasının daxilində bizim callbackimiz adı ilə çağırılacaq.

Variant 2

Bizim callbackimiz dəyişənə yazılmış anonim funksiya ola bilər:

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

Bu halda biz parametr kimi funksiyamız olan dəyişəni ötürürük:

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

Variant 3

Anonim funksiyanı birbaşa parametr kimi ötürmək olar:

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

Variant 4

Ox funksiyasından istifadə edərək kodu qısaltmaq olar:

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

Praktiki tapşırıqlar

Massiv və hər bir massiv elementinə tətbiq olunacaq callback qəbul edən bir funksiya verilib:

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

Rəqəmlərdən ibarət massivi və ötürülən rəqəmin kvadratını qaytaran callback-i parametr kimi ötürərək bu funksiyanı çağırın.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et