$prices = ['apple' => 2, 'pear' => 3];
$doubled = array_map(fn($p) => $p * 2, $prices);
print_r($doubled);Ne yazdırılır?
- aArray ( [0] => 4 [1] => 6 ) — array_map anahtarları her zaman 0'dan yeniden numaralandırır
- bArray ( [apple] => 2 [pear] => 3 ) — array_map arrow function alamadığı için closure yok sayılır
- cArray ( [apple] => 4 [pear] => 6 ) — orijinal anahtarlar korunur, her değer ikiye katlanır✓
- dFatal error verir, çünkü array_map tek bir girdi dizisiyle birlikte kullanılamaz
Açıklama:array_map(), tam olarak bir girdi dizisi verildiğinde orijinal dizinin anahtarlarını korur — sonucu sayısal olarak yeniden indekslemesi yalnızca birden fazla dizi verildiğinde olur. Burada her değer ikiye katlanır (22=4, 32=6) ve 'apple'/'pear' string anahtarları yeni değerlere bağlı kalır.