⊗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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау