⊗ppSpFnCb 11 of 83 menu

PHP'de Geri Çağırım Fonksiyonları

Geri çağırım (callback), başka bir fonksiyona parametre olarak geçirilen fonksiyona denir.

Bir örnek üzerinden gidelim. Birinci parametre olarak bir sayı, ikinci parametre olarak da bir geri çağırım alan bir fonksiyonumuz olsun:

<?php function func($num, $calb) { } ?>

Fonksiyonun içinde, iletilen sayı için geri çağırımımızın çağrılmasını sağlayalım:

<?php function func($num, $calb) { echo $calb($num); } ?>

Şimdi fonksiyonumuza geri çağırım iletmek için hangi seçeneklerin olduğuna bir bakalım.

Seçenek 1

Geri çağırımımız sıradan bir fonksiyon olabilir:

<?php function calb($num) { return $num ** 2; } ?>

Bu durumda, geri çağırım olarak fonksiyonumuzun adını iletiriz:

<?php func(3, 'calb'); ?>

func fonksiyonunun içinde geri çağırımımız ismiyle çağrılacaktır.

Seçenek 2

Geri çağırımımız, bir değişkene atanmış anonim bir fonksiyon olabilir:

<?php $calb = function($num) { return $num ** 2; }; ?>

Bu durumda, parametre olarak fonksiyonu tutan değişkeni iletiriz:

<?php func(3, $calb); ?>

Seçenek 3

Anonim fonksiyon doğrudan parametre olarak iletilbilir:

<?php func(3, function($num) { return $num ** 2; }); ?>

Seçenek 4

Ok fonksiyonu kullanılarak kod kısaltılabilir:

<?php func(3, fn($num) => $num ** 2); ?>

Pratik Görevler

Diziyi ve dizinin her bir elemanına uygulanacak bir geri çağırımı parametre olarak alan bir fonksiyon verilmiştir:

<?php function func($arr, $calb) { $res = []; foreach ($arr as $elem) { $res[] = $calb($elem); } return $res; } ?>

Sayılardan oluşan bir dizi ve iletilen sayının karesini alan bir geri çağırımı parametre olarak ileterek bu fonksiyonu çağırın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet