⊗ppSpFnCb 11 of 83 menu

ფუნქციები-კოლბეკები PHP-ში

კოლბეკი ეწოდება ფუნქციას, რომელიც გადაეცემა პარამეტრად სხვა ფუნქციას.

მოდით შევხედოთ მაგალითს. დავუშვათ, ჩვენ გვაქვს ფუნქცია, რომელიც პირველი პარამეტრით იღებს რიცხვს, ხოლო მეორე პარამეტრით - კოლბეკს:

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

გავაკეთოთ ისე, რომ ფუნქციის შიგნით ჩვენი კოლბეკი გამოვიძახოთ გადაცემული რიცხვისთვის:

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

ახლა მოდით შევხედოთ, რა ვარიანტები არსებობს კოლბეკის ჩვენ ფუნქციაში გადასაცემად.

ვარიანტი 1

ჩვენი კოლბეკი შეიძლება იყოს ჩვეულებრივი ფუნქცია:

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

ამ შემთხვევაში, როგორც კოლბეკი ჩვენ გადავცემთ ჩვენი ფუნქციის სახელს:

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

ფუნქციის func შიგნით ჩვენი კოლბეკი გამოიძახება სახელის მიხედვით.

ვარიანტი 2

ჩვენი კოლბეკი შეიძლება იყოს ანონიმური ფუნქცია, რომელიც ჩაწერილია ცვლადში:

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

ამ შემთხვევაში, ჩვენ პარამეტრად გადავცემთ ცვლადს ჩვენი ფუნქციით:

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

ვარიანტი 3

შესაძლებელია ანონიმური ფუნქციის პარამეტრად დაუყოვნებლივ გადაცემა:

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

ვარიანტი 4

შესაძლებელია კოდის შემოკლება, ისრის ფუნქციის გამოყენებით:

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

პრაქტიკული ამოცანები

მოცემულია ფუნქცია, რომელიც პარამეტრად იღებს მასივს და კოლბეკს, რომელიც გამოყენებული იქნება მასივის თითოეულ ელემენტზე:

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

გამოიძახეთ ეს ფუნქცია, პარამეტრად გადაცემული მასივი რიცხვებით და კოლბეკი, რომელიც ამცირებს გადაცემულ რიცხვს კვადრატში.

ქართული
AfrikaansAzə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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა