PHP Numaraları
Bu bölümde Tamsayılar, Kayan Noktalar ve Sayı Dizilerini derinlemesine inceleyeceğiz.
PHP Numaraları
PHP hakkında dikkat edilmesi gereken bir şey, otomatik veri türü dönüştürmesi sağlamasıdır.
Bu nedenle, bir değişkene bir tamsayı değeri atarsanız, o değişkenin türü otomatik olarak bir tamsayı olacaktır. Ardından, aynı değişkene bir dize atarsanız, tür bir dizeye dönüşür.
Bu otomatik dönüştürme bazen kodunuzu bozabilir.
PHP Tamsayıları
2, 256, -256, 10358, -179567 tamsayılardır.
Tamsayı, ondalık kısmı olmayan bir sayıdır.
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, bir tamsayı sınırını aştığı için kayan nokta olarak depolanacaktır.
Not: Bilinmesi gereken bir diğer önemli şey de, 4 * 2.5 10 olsa bile, işlenenlerden biri bir kayan nokta (2.5) olduğu için sonucun kayan nokta olarak saklanmasıdır.
Tamsayılar için bazı kurallar şunlardır:
- Bir tamsayı en az bir basamak içermelidir
- Bir tamsayının ondalık noktası OLMAMALIDIR
- Bir tamsayı pozitif veya negatif olabilir
- Tamsayılar üç biçimde belirtilebilir: ondalık (10 tabanlı), onaltılı (16 tabanlı - 0x ön eki) veya sekizli (8 tabanlı - 0 ön eki)
PHP, tamsayılar için aşağıdaki önceden tanımlanmış sabitlere sahiptir:
- PHP_INT_MAX - Desteklenen en büyük tam sayı
- PHP_INT_MIN - Desteklenen en küçük tam sayı
- PHP_INT_SIZE - Bir tamsayının bayt cinsinden boyutu
PHP, bir değişkenin tipinin tamsayı olup olmadığını kontrol etmek için aşağıdaki fonksiyonlara sahiptir:
- is_int()
- is_integer() - is_int() diğer adı
- is_long() - is_int() diğer adı
Örnek
Bir değişken 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 Yüzer
Float, ondalık noktalı bir sayı veya üstel biçimde bir sayıdır.
2.0, 256,4, 10.358, 7.64E+5, 5.56E-5'in tümü yüzerdir.
Float veri türü, genellikle 1.7976931348623E+308'e kadar (platforma bağlı) bir değer depolayabilir ve maksimum 14 basamaklı kesinliğe sahiptir.
PHP, kayan noktalar için aşağıdaki önceden tanımlanmış sabitlere sahiptir (PHP 7.2'den itibaren):
- PHP_FLOAT_MAX - Temsil edilebilen en büyük kayan noktalı sayı
- PHP_FLOAT_MIN - Temsil edilebilen en küçük pozitif kayan noktalı sayı
- - PHP_FLOAT_MAX - Temsil edilebilen en küçük negatif kayan noktalı sayı
- PHP_FLOAT_DIG - Kesinlik kaybı olmadan bir kayan nokta ve geriye yuvarlanabilen ondalık basamak sayısı
- PHP_FLOAT_EPSILON - Temsil edilebilen en küçük pozitif sayı x, yani x + 1.0 != 1.0
PHP, bir değişkenin tipinin float olup olmadığını kontrol etmek için aşağıdaki fonksiyonlara sahiptir:
- is_float()
- is_double() - is_float() diğer adı
Örnek
Bir değişkenin tipinin float olup olmadığını kontrol edin:
<?php
$x = 10.365;
var_dump(is_float($x));
?>
PHP Sonsuz
PHP_FLOAT_MAX'tan büyük bir sayısal değer sonsuz olarak kabul edilir.
PHP, sayısal bir değerin sonlu mu yoksa sonsuz mu olduğunu kontrol etmek için aşağıdaki işlevlere sahiptir:
Ancak PHP var_dump() işlevi veri türünü ve değerini döndürür:
Örnek
Sayısal bir değerin sonlu mu yoksa sonsuz mu olduğunu 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:
Ancak PHP var_dump() işlevi veri türünü ve değerini döndürür:
Örnek
Geçersiz hesaplama bir NaN değeri döndürür:
<?php
$x = acos(8);
var_dump($x);
?>
PHP Sayısal Dizeleri
PHP is_numeric() işlevi, bir değişkenin sayısal olup olmadığını bulmak için kullanılabilir. Değişken bir sayı veya sayısal bir dize ise işlev true, aksi takdirde false döndürür.
Örnek
Değişkenin sayısal olup olmadığını kontrol edin:
<?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 diziler için (örn. 0xf4c3b00c), artık sayısal diziler olarak kabul edilmediklerinden FALSE döndürür.
PHP Dizeleri ve Floatları Tam Sayılara Döküm
Bazen sayısal bir değeri başka bir veri türüne dönüştürmeniz gerekir.
(int), (integer) veya intval() işlevi genellikle bir değeri tamsayıya dönüştürmek için kullanılır.
Örnek
Float ve string'i tam sayıya çevir:
<?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;
?>