Şurada fırsat buldukça PHP’de dizi değişkenlerle ilgili fonksiyonları yazacağımı söylemiştim. Implode’dan sonra en az onun kadar faydalı bir fonksiyondan bahsedelim.
Array_map
Ne yapar array_map() ? Çok basit bir şekilde bir dizi değişkenin tüm değerlerini herhangi bir fonksiyondan geçirmenizi sağlar. Biliyorum biliyorum karışık oldu. Hemen geçelim örneklerle anlatıma.
Şimdi diyelim elinizde $veriler diye bir dizi değişken var. İçerisinde ise 100 tane değer atalı. Siz bu 100 değerin başındaki sonundaki boşlukları trim fonksiyonuyla almak istiyorsunuz. İlk akla gelen nedir?
$yeniveriler = array();
foreach($veriler as $v)
{
$yeniveriler[] = trim($v);
}
Foreachle döngüye sokup yeni bir değişkene atamak değil m? Tüm bunları array_map ile yapabilir. Hem zamandan hem de performanstan tasarruf etmiş olursunuz.
$veriler = array_map('trim',$veriler);
İkinci yazdığım ilkiyle aynı işlevi yaptı.
Herhangi bir sınıf fonksiyonu kullanıldığında array_map?
Ezsql sınıfıyla örneğimizi açıklayalım. Diyelim gelen diziyi $db->escape fonksiyonundan geçirmek istiyorsunuz ve bunun için de array_map kullanacaksınız
(not: ezsql sınıfının $db değişkenine atandığını varsayıyorum.)
Yanlış Kullanım
$veriler = array_map('$db->escape',$veriler);
Doğru Kullanım
$veriler = array_map(array('db','escape'),$veriler);

