⊗ppSpFnIFC 12 of 83 menu

Колбеци у уграђеним функцијама у PHP

У PHP постоји низ уграђених функција, које као параметар примају колбеке. Општи принцип рада са њима ћемо проучити на примеру функције array_map. Ова функција првим параметром прима колбек, а другим - низ. Функција примењује колбек на сваки елемент низа и враћа измењени низ.

Хајде да погледамо варијанте коришћења ове функције узимајући у обзир знања која смо раније стекли.

Варијанта 1

Извући ћемо из сваког елемента низа квадратни корен помоћу уграђене функције sqrt. За то ћемо као колбек параметром проследити стринг са именом те функције:

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

Варијанта 2

Подићи ћемо сваки елемент низа на квадрат помоћу креиране наше обичне функције. За то ћемо као колбек параметром проследити стринг са именом те функције:

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

Варијанта 3

Преправићемо нашу функцију у анонимну, записану у променљиву:

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

Варијанта 4

Проследићемо анонимну функцију параметром:

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

Варијанта 5

Користићемо стреличасту функцију:

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

Варијанта 6

Нека сада степен, у који треба подићи број, буде задат спољном променљивом колбека. Искористићемо ову променљиву, добивши приступ њој преко use:

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

Варијанта 7

Преписаћемо претходни код преко стреличасте функције. Сада ће променљива $pow бити доступна аутоматски:

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

Практични задаци

Дат је низ са стринговима. Преведите текст сваког елемента низа у велика слова.

Дат је низ са стринговима. Обрните текст сваког елемента низа тако да карактери иду у обрнутом редоследу.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј