⊗ppSpFnCb 11 of 83 menu

PHP-da Callback funksiyalari

Callback deb parametr sifatida boshqa funktsiyaga uzatiladigan funktsiyaga aytiladi.

Keling, bir misolni ko'rib chiqaylik. Faraz qilaylik, bizda birinchi parametr sifatida raqamni, ikkinchi parametr sifatida esa callbackni qabul qiladigan funktsiya bor:

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

Keling, funktsiya ichida berilgan raqam uchun bizning callbackimiz chaqirilsin:

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

Keling, endi bizning funktsiyamizga callbackni uzatishning qanday variantlari borligini ko'rib chiqaylik.

Variant 1

Bizning callbackimiz oddiy funktsiya bo'lishi mumkin:

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

Bunda callback sifatida biz o'z funktsiyamiz nomini uzatamiz:

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

func funktsiyasi ichida bizning callbackimiz nomi bilan chaqiriladi.

Variant 2

Bizning callbackimiz o'zgaruvchiga yozilgan anonim funktsiya bo'lishi mumkin:

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

Bunda biz parametr sifatida funktsiyani o'z ichiga olgan o'zgaruvchini uzatamiz:

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

Variant 3

Anonim funktsiyani darhol parametr sifatida uzatish mumkin:

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

Variant 4

O'q funktsiyasidan foydalanib, kodni qisqartirish mumkin:

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

Amaliy mashqlar

Massivni va har bir massiv elementiga qo'llaniladigan callbackni parametr sifatida qabul qiluvchi funktsiya berilgan:

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

Raqamlar bilan massiv va berilgan sonni kvadratga ko'taradigan callbackni parametr sifatida uzatib, ushbu funktsiyani chaqiring.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish