⊗ppSpFnIFC 12 of 83 menu

PHP-də daxili funksiyalarda callback-lər

PHP-də parametr kimi callback qəbul edən bir sıra daxili funksiyalar var. Onlarla işləmənin ümumi prinsipini array_map funksiyasının nümunəsində öyrənəcəyik. Bu funksiya birinci parametr kimi callback, ikinci parametr kimi isə massiv qəbul edir. Funksiya hər bir massiv elementinə callback tətbiq edir və dəyişdirilmiş massivi qaytarır.

Gəlin, əvvəllər əldə etdiyimiz bilikləri nəzərə alaraq bu funksiyanın istifadə variantlarına nəzər salaq.

Variant 1

Daxili sqrt funksiyasından istifadə edərək hər bir massiv elementindən kvadrat kök alaq. Bunun üçün parametr kimi callback-də bu funksiyanın adı olan sətri ötürəcəyik:

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

Variant 2

Yaratdığımız adi funksiya vasitəsilə hər bir massiv elementinin kvadratını alaq. Bunun üçün parametr kimi callback-də bu funksiyanın adı olan sətri ötürəcəyik:

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

Variant 3

Funksiyamızı dəyişənə yazılmış anonim funksiyaya çevirək:

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

Variant 4

Anonim funksiyanı parametr kimi ötürək:

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

Variant 5

Ox funksiyasından istifadə edək:

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

Variant 6

İndi isə ədədin qüvvətə yüksəldilməsi callback-in xarici dəyişəni tərəfindən təyin edilsin. use vasitəsilə bu dəyişənə çıxış əldə edək:

<?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

Əvvəlki kodu ox funksiyası vasitəsilə yenidən yazaq. İndi $pow dəyişəni avtomatik olaraq əlçatan olacaq:

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

Praktiki tapşırıqlar

Sətirlərdən ibarət massiv verilib. Hər bir massiv elementinin mətnini böyük hərflərə çevirin.

Sətirlərdən ibarət massiv verilib. Hər bir massiv elementinin mətnini tərsinə çevirin.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et