⊗ppSpFnIFC 12 of 83 menu

Tagasikutset PHP sisseehitatud funktsioonides

PHP-s on mitmeid sisseehitatud funktsioone, mis parameetrina võtavad vastu tagasikutseid. Nende üldist tööpõhimõtet uurime funktsiooni array_map näitel. See funktsioon võtab esimese parameetrina vastu tagasikutse ja teise parameetrina - massiivi. Funktsioon rakendab tagasikutset iga massiivi elemendi kohta ja tagastab muudetud massiivi.

Vaatame selle funktsiooni kasutamise võimalusi võttes arvesse varasematel aegadel saadud teadmisi.

Variant 1

Võtame igast massiivi elemendist ruutjuure, kasutades selleks sisseehitatud funktsiooni sqrt. Selleks edastame parameetrina tagasikutse stringina selle funktsiooni nimega:

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

Variant 2

Tõstame iga massiivi elemendi ruutu meie poolt loodud tavalise funktsiooni abil. Selleks edastame parameetrina tagasikutse stringina selle funktsiooni nimega:

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

Variant 3

Muudame oma funktsiooni anonüümseks, kirjutades selle muutujasse:

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

Variant 4

Edastame anonüümse funktsiooni parameetrina:

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

Variant 5

Kasutame noolfunktsiooni:

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

Variant 6

Olgu nüüd aste, millesse tuleb arv tõsta, määratud tagasikutse välimise muutujaga. Kasutame seda muutujat, saades sellele juurdepääsu läbi use:

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

Variant 7

Kirjutame eelmise koodi ümber noolfunktsiooni abil. Nüüd on muutuja $pow automaatselt kättesaadav:

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

Praktilised ülesanded

Antud on stringide massiiv. Teisendage iga massiivi elemendi tekst suurte tähtedega.

Antud on stringide massiiv. Pöörake iga massiivi elemendi tekst ümber nii, et sümbolid läheksid vastupidises järjekorras.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu