⊗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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել