Diyelim bir dizimiz var ve bu dizideki tüm değerleri bir fonksiyondan geçirmemiz gerekiyor. Böyle bir işlemi döngülerle yapabiliriz fakat array_map ile bunu yapmak çok daha pratik. Mesela GET ile gelen tüm verileri trim() fonksiyonundan geçirmek istersek;
$_GET = array_map('trim',$_GET);
şeklinde yapabiliriz. Gördüğünüz gibi $_GET değişkenindeki tüm değerleri trim() fonksiyonundan geçirdik ve dönen değerleri ise tekrardan $_GET fonksiyonuna eşitledik.
En sade kullanım şekli bu şekilde. Peki bir diziyi birden fazla fonksiyondan geçirmek istersek ne yapacağız? Bunun için öncelikle yeni bir fonksiyon yaratmamız gerekiyor:
function filter($text) {
return htmlspecialchars(strip_tags(trim($text)));
}
filter adında bir fonksiyon yarattık. Bu fonksiyonla, $text değişkenindeki değeri sırasıyla trim, strip_tags(), htmlspecialchars() fonksiyonlarından geçirip, çıkan sonucu döndürdük.
Bundan sonra ise array_map ile filter fonksiyonunda geçirmemiz gerekiyor:
function filter($text) {
return htmlspecialchars(strip_tags(trim($text)));
}
$_GET = array_map('filter',$_GET);
$_POST = array_map('filter',$_POST);