Kod:
array_map
Kod:
array_map
Kod:
array_map
Temel Kullanım
Önce basit bir örnekle başlayalım. Bir sayı dizisindeki her sayıyı ikiyle çarpalım:
PHP
Kod:
<?php
// Sayı dizimiz
$sayilar = [1, 2, 3, 4, 5];
// Her sayıyı ikiyle çarpan anonim bir fonksiyon (callback)
$ikiyle_carp = function($sayi) {
return $sayi * 2;
};
// array_map kullanarak her elemana fonksiyonu uygula
$iki_kat_sayilar = array_map($ikiyle_carp, $sayilar);
echo "Orjinal Sayılar: ";
print_r($sayilar);
echo "İki Katı Sayılar: ";
print_r($iki_kat_sayilar);
?>
Kod:
Orjinal Sayılar: Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
İki Katı Sayılar: Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
)
Kod:
$ikiyle_carp
Kod:
array_map
Kod:
$sayilar
Birden Fazla Diziyle Çalışma
Kod:
array_map
Kod:
array_map
PHP
Kod:
<?php
$ilk_dizi = [10, 20, 30];
$ikinci_dizi = [1, 2, 3];
// İki dizinin elemanlarını toplayan fonksiyon
$toplama_fonksiyonu = function($deger1, $deger2) {
return $deger1 + $deger2;
};
// array_map ile iki dizinin elemanlarını topla
$toplamlar = array_map($toplama_fonksiyonu, $ilk_dizi, $ikinci_dizi);
echo "Toplamlar: ";
print_r($toplamlar);
?>
Kod:
Toplamlar: Array
(
[0] => 11
[1] => 22
[2] => 33
)
Kod:
array_map
PHP
Kod:
<?php
class Kullanici {
public $id;
public $ad;
public $email;
public function __construct($id, $ad, $email) {
$this->id = $id;
$this->ad = $ad;
$this->email = $email;
}
}
$kullanicilar = [
new Kullanici(1, "Ali Yılmaz", "ali@example.com"),
new Kullanici(2, "Ayşe Demir", "ayse@example.com"),
new Kullanici(3, "Mehmet Can", "mehmet@example.com"),
];
// Her kullanıcı nesnesinden sadece 'ad' özelliğini al
$kullanici_adlari = array_map(function($kullanici) {
return $kullanici->ad;
}, $kullanicilar);
echo "Kullanıcı Adları: ";
print_r($kullanici_adlari);
?>
Kod:
Kullanıcı Adları: Array
(
[0] => Ali Yılmaz
[1] => Ayşe Demir
[2] => Mehmet Can
)
Neden
Kod:
array_map
- Okunabilirlik:
döngüsüne göre daha kısa ve niyetinizi daha net belli eden bir yazım sunar.Kod:foreach
- Fonksiyonel Programlama: Veri dönüşümlerini daha fonksiyonel bir yaklaşımla yapmanızı sağlar.
- Performans: Genellikle büyük dizilerde
döngülerine kıyasla daha optimize çalışabilir, ancak bu durum kullanıma göre değişebilir.Kod:foreach
- Esneklik: Anonim fonksiyonlarla birlikte kullanıldığında çok esnek veri dönüşümleri yapmanıza olanak tanır.