Bu içerikte PHP 7.4 ile gelen arrow functionların kullanımına değineceğiz. Örnekler üzerinden anlatacak olursak syntax yapısı genel olarak şu şekildedir;
// normal kullanım function(arguments) { return expression; } // arrow function ile aşağıdaki gibi ifade edebilirsiniz fn (arguments) => expression;
3 ana örnek üzerinden devam edelim;
1.Arrow Function’ı bir değere atama
Aşağıdaki örnekte bir değere nasıl arrow function atayacağımıza bakalım.
$eq = fn ($x, $y) => $x == $y; echo $eq(100, '100'); // 1 (veya true)
Örneği açıklayacak olursak; arrow function’ı $eq değerine atatık. Böylelikle eğer 2 arguman eşit ise arrow function true değeri dönecektir.
2.arrow function’ı başka bir fonksiyona atama
Bu örnekte array_map() fonskyionunda arrow function kullanacağız.
<?php $list = [10, 20, 30]; $results = array_map( fn ($item) => $item * 2, $list ); print_r($results); Output: Array ( [0] => 20 [1] => 40 [2] => 60 )
Bu örnekte array_map() fonskiyonu arrow function ile dizideki tüm değerlere işlemleri yaptırır ve yeni bir array döndürür.
3.Bir fonsiyondan arrow function döndürme;
<?php function multiplier($x) { return fn ($y) => $x * $y; } $double = multiplier(2); echo $double(10); // 20
Diğer örneklere göz atarsak;
fn($y) => $x * $y + $z;
//valid function signatures
fn(array $x) => $x;
fn(): int => $x;
fn($x = 42) => $x;
fn(&$x) => $x;
fn&($x) => $x;
fn($x, …$rest) => $rest;
//örnek normal kullanım
$factor = 10;
$numbers = array_map(function($value) use ($factor){
return $value * $factor;
}, [1, 2, 3]);
print_r($numbers);
//Output
//Array([0] => 10 [1] => 20 [2] => 30)
//arrow func ile
$factor = 10;
$numbers = array_map(fn($value) => $value * $factor, [1, 2, 3]);
print_r($numbers);
//Output
//Array([0] => 10 [1] => 20 [2] => 30)
İlk Yorumu Siz Yapın