⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა