⊗ppSpFnIFC 12 of 83 menu

PHP-dä gurluşyk funksiýalarynda callback-lar

PHP-de birnäçe gurluşyk funksiýalary bar, olar parametr hökmünde callback-lar kabul edýär. Olar bilen işlemiň umumy ýörelgesini biz array_map funksiýasynyň mysalynda öwreris. Bu funksiýa birinji parametr hökmünde callback, ikinji parametr hökmünde bolsa massiw kabul edýär. Funksiýa callback-i massiwiň her elementine ýerleşdirýär we üýtgedilen massiw yzyna gaytaryr.

Geliň, bu funksiýany ulanyş wariantlaryna öň alan bilimlerimizi göz öňünde tutup seredeliň.

Wariant 1

Massiwiň her elementinden kwadrat köküni çykarmak üçin gurluşyk sqrt funksiýasyny ulanarys. Bunun üçin parametr hökmünde callback-e bu funksiýanyň ady bilen setiri ibereris:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map('sqrt', $arr); var_dump($res); ?>

Wariant 2

Massawiň her elementini kwadratyňa ýokarlandyrmak üçin döreden adaty funksiýamyzy ulanarys. Bunun üçin parametr hökmünde callback-e bu funksiýanyň ady bilen setiri ibereris:

<?php $arr = [1, 2, 3, 4, 5]; function func($num) { return $num ** 2; } $res = array_map('func', $arr); var_dump($res); ?>

Wariant 3

Funksiýamyzy anonim funksiýa hökmünde, üýtgeýjide saklap ýazyş:

<?php $arr = [1, 2, 3, 4, 5]; $func = function ($num) { return $num ** 2; }; $res = array_map($func, $arr); var_dump($res); ?>

Wariant 4

Anonim funksiýany parametr hökmünde iberiň:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(function ($num) { return $num ** 2; }, $arr); var_dump($res); ?>

Wariant 5

Oka funksiýasyny ulanalyň:

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(fn ($num) => $num ** 2, $arr); var_dump($res); ?>

Wariant 6

Indi, sanlaryň haýsy derejä ýokarlandyrmaly digi, callback-iň daşarky üýtgeýjisi bilen kesgitlenýär. Bu üýtgeýjä use arkaly girip, ony ulanalyň:

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(function ($num) use ($pow) { return $num ** $pow; }, $arr); var_dump($res); ?>

Wariant 7

Öňki kody oka funksiýasy arkaly ýazaýalyň. Indi $pow üýtgeýjisi awtomatik ýagdaýda elýeterli bolar:

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(fn ($num) => $num ** $pow, $arr); var_dump($res); ?>

Amaly tabşyryklar

Setirler bilen massiw berlen. Massawiň her elementiniň tekstini ýokary registre çalyş.

Setirler bilen massiw berlen. Massawiň her elementiniň tekstini tersine, ýagny nyşanlaryň ters tertipde ýygnanyşygy ýaly, öwüriň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et