⊗ppSpFnCb 11 of 83 menu

Vitendo-vipokezi (Callbacks) katika PHP

Kitendo-kipokezi ni kitendakazi kinachopitishwa kama kigezo kingine katika kitendakazi.

Hebu tuangalie kwa mfano. Tuchukulie tuna kitendakazi ambacho kinakubali nambari kama kigezo cha kwanza, na kitendo-kipokezi kama kigezo cha pili:

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

Tufanye ili ndani ya kitendakazi kitendo-chetu-kipokezi kiitwe kwa nambari iliyopitishwa:

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

Hebu sasa tuone, ni njia gani za kupitisha kitendo-kipokezi katika kitendakazi chetu.

Njia 1

Kitendo-chetu-kipokezi kinaweza kuwa kitendakazi cha kawaida:

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

Katika hali hii kama kitendo-kipokezi tutapitisha jina la kitendakazi chetu:

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

Ndani ya kitendakazi func kitendo-chetu-kipokezi kitaitwa kwa jina.

Njia 2

Kitendo-chetu-kipokezi kinaweza kuwa kitendakazi bila jina, kiliandikwa kwenye kigeuzi:

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

Katika hali hii tunapitisha kigeuzi na kitendakazi chetu kama kigezo:

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

Njia 3

Inawezekana kupitisha kitendakazi bila jina moja kwa moja kama kigezo:

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

Njia 4

Inawezekana kufupisha msimbo, kwa kutumia kitendakazi-kishale:

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

Kazi za Vitendo

Kuna kitendakazi, kinachokubali orodha kama kigezo na kitendo-kipokezi, ambacho kitatumika kwa kila kipengele cha orodha:

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

Ita kitendakazi hiki, upitishae kama kigezo orodha yenye nambari na kitendo-kipokezi, kinachoinua nambari iliyopitishwa mraba.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa