PHP Development

PHP’de Metinden Sayıya Dönüştürme Ustası Olmak

Spread the love

PHP, sayıları temsil eden dizeleri sayısal karşılıklarına dönüştürmek için çeşitli yollar sunar. Bu, kullanıcı girişini veya veritabanı verilerini işlerken web uygulamalarında çok önemlidir, çünkü yanlış işleme hatalara yol açabilir. Bu makale, güvenli ve verimli dizi-sayı dönüşümü için üç güvenilir yöntemi ele almaktadır.

İçindekiler

Açık Tip Dönüşümü

PHP, parantez içinde değişkenden sonra gelen bir tip kullanılarak açık tip dönüşümüne izin verir. Dizi-sayı dönüşümü için, tamsayılar için (int) ve kayan noktalı sayılar için (float) kullanın.


<?php
$stringNumber = "123";
$intNumber = (int)$stringNumber;
$floatNumber = (float)"123.45";

echo "Tamsayı: " . $intNumber . "<br>"; // Çıktı: Tamsayı: 123
echo "Ondalıklı Sayı: " . $floatNumber . "<br>"; // Çıktı: Ondalıklı Sayı: 123.45

$stringWithNonNumeric = "123abc";
$intNumber2 = (int)$stringWithNonNumeric;
echo "Tamsayı (sayısal olmayan karakterler ile): " . $intNumber2 . "<br>"; // Çıktı: Tamsayı (sayısal olmayan karakterler ile): 123
?>

Not: Dizi sayısal olmayan karakterler içeriyorsa, dönüşüm ilk sayısal olmayan karakterde durur. Dönüştürmeden önce geçerli bir sayı olup olmadığını kontrol etmek için her zaman girişi doğrulayın.

intval() Fonksiyonunun Kullanımı

intval() fonksiyonu, bir değeri özellikle bir tamsayıya dönüştürür. (int) dönüşümüne benzer şekilde davranır ve ilk sayısal olmayan karakterde durur.


<?php
$stringNumber = "456";
$intNumber = intval($stringNumber);
echo "Tamsayı: " . $intNumber . "<br>"; // Çıktı: Tamsayı: 456

$stringWithNonNumeric = "789xyz";
$intNumber2 = intval($stringWithNonNumeric);
echo "Tamsayı (sayısal olmayan karakterler ile): " . $intNumber2 . "<br>"; // Çıktı: Tamsayı (sayısal olmayan karakterler ile): 789
?>

intval(), özellikle potansiyel sayısal olmayan karakterleri işlerken, doğrudan dönüştürmeye göre daha açık ve okunabilir bir yaklaşım sağlar.

settype() Fonksiyonunun Kullanımı

settype() fonksiyonu bir değişkenin tipini değiştirir. Dizileri tamsayı veya ondalıklı sayılara dönüştürebilir.


<?php
$stringNumber = "901";
settype($stringNumber, "integer");
echo "Tamsayı: " . $stringNumber . "<br>"; // Çıktı: Tamsayı: 901

$stringNumber2 = "10.25";
settype($stringNumber2, "float");
echo "Ondalıklı Sayı: " . $stringNumber2 . "<br>"; // Çıktı: Ondalıklı Sayı: 10.25
?>

settype() değişkeni doğrudan değiştirir. İşlevsel olsa da, özellikle büyük projelerde okunabilirlik ve sürdürülebilirlik açısından intval() veya açık dönüştürmeden daha az tercih edilir. Diğer yöntemler tip dönüşümü konusunda daha açıklayıcıdır.

Sonuç: Üç yöntem de PHP’de dizileri sayılara etkili bir şekilde dönüştürür. Açık dönüştürme ((int) ve (float)) ve intval() fonksiyonu genellikle açıklık ve doğrudanlık için önerilir. Kodlama stilinize ve uygulama bağlamınıza en uygun yöntemi seçin. Sayısal olmayan karakterlerden kaynaklanan hataları önlemek için her zaman girişi doğrulayın.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir