25 Ekim 2026 - 16:25
PHP'de Hazır Fonksiyonlar: array_map, filter_var ve Daha Fazlası Görseli
PHP

PHP'de Hazır Fonksiyonlar: array_map, filter_var ve Daha Fazlası

0 Yorumlar

PHP'nin yerleşik fonksiyonlarını kullanmak kodu kısaltabilir; ancak fonksiyonun dönüş değerini yanlış yorumlamak yeni hata üretir. Özellikle doğrulama ile temizlemeyi, basit metin bölmeyle CSV okumayı ayırmak gerekir. Aşağıdaki örnekler PHP 8.x sözdizimini kullanır.

array_map ile her öğeyi dönüştürme

PHP
<?php
$sayilar = [1, 2, 3];
$kareler = array_map(fn($s) => $s * $s, $sayilar);
echo json_encode($kareler); // [1,4,9]

array_map yeni bir dizi üretir; eleman elemek için tasarlanmış değildir. Callback'in null döndürmesi o konumu otomatik olarak kaldırmaz. Birden fazla dizi geçirirken uzunluk ve anahtar davranışını ayrıca değerlendirin. Basit bir döngü daha okunaklıysa sırf kısa olduğu için callback tercih etmek gerekmez.

filter_var: false ile sıfırı ayırın

PHP
<?php
$deger = filter_var('0', FILTER_VALIDATE_INT);
if ($deger === false) {
    echo 'Geçersiz';
} else {
    echo 'Sayı: ' . $deger; // Sayı: 0
}

Gevşek bir if (!$deger) kontrolü geçerli sıfırı hatayla karıştırabilir. E-posta için FILTER_VALIDATE_EMAIL biçim denetimi yapar; sahiplik doğrulaması yapmaz. FILTER_SANITIZE seçenekleri girdiyi değiştirebilir; temizlenmiş değer, kullanıcının gerçekten gönderdiği değerle aynı olmayabilir.

trim her alana zorunlu uygulanmaz

PHP
<?php
$girdi = "  Merhaba  ";
echo trim($girdi); // Merhaba

Varsayılan trim, baştaki ve sondaki belirli boşluk/kontrol karakterlerini kaldırır; bütün Unicode boşluklarını kapsamaz. İç boşluklara dokunmaz. Parola veya boşluğun anlam taşıdığı metin alanında sessizce değişiklik yapmak yerine alanın kuralına karar verin. İstekten gelen değerin string olduğunu doğrulamadan trim çağırmayın.

explode basit ayıraçlar içindir

PHP
<?php
$etiketler = explode(',', 'php,mysql,linux');
echo json_encode($etiketler); // ["php","mysql","linux"]
$satir = '"Ankara, merkez",42';
$alanlar = str_getcsv($satir, ',', '"', '');
echo json_encode($alanlar); // ["Ankara, merkez","42"]

Tırnak içinde virgül içeren CSV satırını explode ile bölmek alanları parçalar. CSV için ilgili ayrıştırıcıyı kullanın; dosya akışı okurken fgetcsv uygun olabilir. Örnekte escape parametresinin açıkça boş verilmesi davranışı belirgin kılar.

Kendi test listenize '0', boş string, yalnızca boşluk, beklenmeyen dizi ve içinde ayıraç bulunan metin ekleyin. Doğru değerlerin kabul edilmesi kadar yanlış türlerin kontrollü reddedilmesi de önemlidir.

Başvuru: PHP filter_var, trim ve str_getcsv belgeleri.

Benzer Yazılar

Yorumlar (0)

Henüz yorum yok. İlk yorum yapan sen ol!

Yorum Yap