PHP Numbers (Sayılar)

Bu konumuzda PHP'de Numbers (Sayılar) konusunu ele aldık. PHP Numbers (Sayılar) Nedir? Hangi alanlarda ve nasıl kullanılır? Gibi çok fazla sorunun cevabına bu kaynak ile cevap bulabilirsiniz!

PHP Numbers (Sayılar)

PHP Numbers (Sayılar)

PHP ile ilgili dikkat edilmesi gereken bir nokta, otomatik veri türü dönüşümü sağlamasıdır.

Yani, bir değişkene bir tamsayı değeri atarsanız, bu değişkenin türü otomatik olarak bir tamsayı olacaktır. Daha sonra, aynı değişkene bir dize atarsanız, tür bir dize olarak değişecektir.

Bu otomatik dönüşüm bazen kodunuzu bozabilir.

PHP Integers (Tamsayıları)

Tamsayı, ondalık kısmı olmayan sayılardır. Örneğin; 2, 256, -256 Vb.

Bir tamsayı veri türü, 32 bit sistemlerde -2147483648 ile 2147483647 arasında ve 64 bit sistemlerde -9223372036854775808 ile 9223372036854775807 arasında ondalık olmayan bir sayıdır. Bundan daha büyük (veya daha düşük) bir değer, tamsayı sınırını aştığı için float olarak saklanacaktır.

Not: Bilinmesi gereken bir diğer önemli nokta da, 4 * 2,5 10 olsa bile, sonuç float olarak saklanır, çünkü işlenenlerden biri floattır (2,5).

İşte tamsayılar için bazı kurallar: 

  • Bir tamsayı en az bir basamaklı olmalıdır.
  • Bir tamsayıda ondalık nokta OLMAMALIDIR.
  • Bir tamsayı pozitif ya da negatif olabilir.
  • Tamsayılar üç biçimde belirtilebilir: ondalık (10 tabanlı), onaltılık (16 tabanlı - 0x ile ön ekli) veya sekizlik (8 tabanlı - 0 ile ön ekli)

PHP tamsayılar için aşağıdaki ön tanımlı sabitlere sahiptir:

  • PHP_INT_MAX - Desteklenen en büyük tamsayı
  • PHP_INT_MIN - Desteklenen en küçük tamsayı
  • PHP_INT_SIZE - Bir tamsayının bayt cinsinden boyutu

PHP, bir değişkenin türünün tamsayı olup olmadığını kontrol etmek için aşağıdaki işlevlere sahiptir:

  • is_int()
  • is_integer() - is_int() işlevinin takma adı
  • is_long() - is_int() işlevinin takma adı

Bir değişkenin türünün tamsayı olup olmadığını kontrol edin.

<?php
$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
?>

PHP Floats (Küsüratlı sayılar)

Float, ondalık noktası olan bir sayı veya üslü formdaki bir sayıdır.

2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 gibi sayıların tümü float'tır.

Float veri türü genellikle 1.7976931348623E+308'e kadar (platforma bağlı) bir değer saklayabilir ve maksimum 14 basamak hassasiyete sahiptir.

PHP, floatlar için aşağıdaki ön tanımlı sabitlere sahiptir (PHP 7.2'den itibaren):

  • PHP_FLOAT_MAX - Gösterilebilen en büyük kayan nokta sayısı
  • PHP_FLOAT_MIN - Gösterilebilen en küçük pozitif kayan noktalı sayı
  • PHP_FLOAT_DIG - Hassasiyet kaybı olmadan bir floata yuvarlanabilen ondalık basamak sayısı
  • PHP_FLOAT_EPSILON - x + 1.0 != 1.0 olacak şekilde temsil edilebilen en küçük pozitif x sayısı

PHP, bir değişkenin türünün float olup olmadığını kontrol etmek için aşağıdaki işlevlere sahiptir:

  • is_float()
  • is_double() - is_float() işlevinin takma adıdır

Bir değişkenin türünün float olup olmadığını kontrol edin.

<?php
$x = 10.365;
var_dump(is_float($x));
?>

PHP Infinity (Sonsuzluk)

PHP_FLOAT_MAX değerinden büyük bir sayısal değer sonsuz olarak kabul edilir.

PHP, bir sayısal değerin sonlu mu yoksa sonsuz mu olduğunu denetlemek için aşağıdaki işlevlere sahiptir:

  • is_finite()
  • is_infinite()

Ancak, PHP var_dump() işlevi veri türünü ve değerini döndürür:

Sayısal bir değerin sonlu veya sonsuz olup olmadığını kontrol edin.

<?php
$x = 1.9e411;
var_dump($x);
?>

PHP NaN

NaN, Sayı Değil anlamına gelir.

NaN imkansız matematiksel işlemler için kullanılır.

PHP, bir değerin sayı olup olmadığını kontrol etmek için aşağıdaki işlevlere sahiptir:

  • is_nan()

Ancak, PHP var_dump() işlevi veri türünü ve değerini döndürür.

Geçersiz hesaplama NaN değeri döndürecektir.

<?php
$x = acos(8);
var_dump($x);
?>

PHP Numerical Strings (Sayısal Metinler)

PHP is_numeric() işlevi bir değişkenin sayısal olup olmadığını bulmak için kullanılabilir. İşlev, değişken bir sayı veya sayısal bir dizge ise true, değilse false döndürür.

<?php
$x = 5985;
var_dump(is_numeric($x));

$x = "5985";
var_dump(is_numeric($x));

$x = "59.85" + 100;
var_dump(is_numeric($x));

$x = "Hello";
var_dump(is_numeric($x));
?>

Not: PHP 7.0'dan itibaren: is_numeric() işlevi onaltılık biçimdeki sayısal dizgeler (örneğin 0xf4c3b00c) için FALSE döndürür, çünkü bunlar artık sayısal dizge olarak kabul edilmezler.

PHP Casting Strings and Floats to Integers (Metinleri ve Floatları Tamsayılara Dönüştürme)

Bazen sayısal bir değeri başka bir veri türüne dönüştürmeniz gerekir.

Bir değeri tamsayıya dönüştürmek için genellikle (int), (integer) veya intval() işlevi kullanılır.

Aşağıdaki örnek ile değişkenin sayısal olup olmadığını kontrol edin:

<?php
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;

echo "<br>";

// Cast string to int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>

Tepkiniz Nedir?

like

dislike

love

funny

angry

sad

wow