⊗ppSpFnIFC 12 of 83 menu

Spätné volania vo vstavaných funkciách v PHP

V PHP existuje rad vstavaných funkcií, ktoré ako parameter prijímajú spätné volania. Všeobecný princíp práce s nimi si preštudujeme na príklade funkcie array_map. Táto funkcia ako prvý parameter prijíma spätné volanie, a ako druhý - pole. Funkcia aplikuje spätné volanie na každý prvok poľa a vráti upravené pole.

Pozrime sa na možnosti použitia tejto funkcie s prihliadnutím na naše predtým získané vedomosti.

Možnosť 1

Vytiahnime z každého prvku poľa druhú odmocninu pomocou vstavanej funkcie sqrt. Na tento účel ako spätné volanie parameter odovzdáme reťazec s menom tejto funkcie:

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

Možnosť 2

Umocnime každý prvok poľa na druhú pomocou nami vytvorenej obyčajnej funkcie. Na tento účel ako spätné volanie parameter odovzdáme reťazec s menom tejto funkcie:

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

Možnosť 3

Upravme našu funkciu na anonymnú, zapísanú do premennej:

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

Možnosť 4

Odovzdajme anonymnú funkciu parametrom:

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

Možnosť 5

Použime funkciu šípky:

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

Možnosť 6

Nech je teraz stupeň, na ktorý treba umocniť číslo, daný externou premennou spätného volania. Využime túto premennú, pričom získame k nej prístup cez use:

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

Možnosť 7

Prepíšme predchádzajúci kód pomocou funkcie šípky. Teraz bude premenná $pow dostupná automaticky:

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

Praktické úlohy

Dané pole s reťazcami. Preložte text každého prvku poľa na veľké písmená.

Dané pole s reťazcami. Otočte text každého prvku poľa tak, aby znaky išli v opačnom poradí.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť