⊗ppSpFnIFC 12 of 83 menu

PHP'de Yerleşik Fonksiyonlarda Geri Çağrılar

PHP'de, parametre olarak geri çağrıları kabul eden bir dizi yerleşik fonksiyon vardır. Bunlarla çalışmanın genel prensibini array_map fonksiyonu örneğinde inceleyeceğiz. Bu fonksiyon ilk parametre olarak bir geri çağrı, ikinci parametre olarak ise bir dizi kabul eder. Fonksiyon, geri çağrıyı dizinin her elemanına uygular ve değiştirilmiş diziyi döndürür.

Şimdi, önceden edindiğimiz bilgileri göz önünde bulundurarak bu fonksiyonun kullanım seçeneklerine bir göz atalım.

Seçenek 1

Dizinin her elemanının karekökünü, yerleşik sqrt fonksiyonunu kullanarak alalım. Bunun için, parametre olarak geri çağrı olarak bu fonksiyonun adını içeren bir dize ileteceğiz:

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

Seçenek 2

Dizinin her elemanının karesini, bizim oluşturduğumuz sıradan bir fonksiyonla alalım. Bunun için, parametre olarak geri çağrı olarak bu fonksiyonun adını içeren bir dize ileteceğiz:

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

Seçenek 3

Fonksiyonumuzu, bir değişkene atanmış anonim bir fonksiyona dönüştürelim:

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

Seçenek 4

Anonim fonksiyonu doğrudan parametre olarak geçirelim:

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

Seçenek 5

Ok fonksiyonunu kullanalım:

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

Seçenek 6

Şimdi, sayının hangi kuvvete yükseltileceğini geri çağrının dış değişkeni belirlesin. Bu değişkeni, use aracılığıyla erişim sağlayarak kullanalım:

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

Seçenek 7

Önceki kodu ok fonksiyonu kullanarak yeniden yazalım. Artık $pow değişkeni otomatik olarak erişilebilir olacak:

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

Pratik Görevler

Dizelerden oluşan bir dizi verilmiştir. Dizinin her elemanının metnini büyük harfe dönüştürün.

Dizelerden oluşan bir dizi verilmiştir. Dizinin her elemanının metnini, sembollerin ters sırada olacak şekilde çevirin.

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