İçeriğe geç

PHP Arrow Functions Kullanımı ve Örnekleri

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)

Kategori:Php

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.