Yanıtlar:
Gönderen PHP Kılavuzu :
Bir tamsayının boyutu platforma bağlıdır, ancak yaklaşık iki milyar maksimum değer olağan değerdir (bu 32 bit işaretlidir). PHP, işaretsiz tam sayıları desteklemez. Tam sayı boyutu sabit PHP_INT_SIZE kullanılarak ve maksimum değer PHP 4.4.0 ve PHP 5.0.5'ten beri sabit PHP_INT_MAX kullanılarak belirlenebilir.
64-bit platformlar, her zaman 32 bit olan PHP 7'den önceki Windows hariç, genellikle 9E18 kadar bir maksimum değere sahiptir.
32 bit PHP derlemeleri:
64 bit PHP derlemeleri:
Sayılar kapsayıcıdır.
Not: Bazı 64-bit derlemeler bir zamanlar 32-bit tamsayılar kullanıyordu, özellikle eski PHP Windows sürümleri
Bu aralıkların dışındaki değerler, bu aralıklar içindeki tamsayı olmayan değerler gibi kayan nokta değerleriyle temsil edilir. Yorumlayıcı, bir hesaplamanın sonuç değerinin tamsayı olarak temsil edilemeyeceğine bağlı olarak bu kayan noktaya geçişin ne zaman olması gerektiğini otomatik olarak belirleyecektir.
PHP'nin "işaretsiz" tamsayılar için desteği yoktur, bu da tüm tam sayıların maksimum değerini "işaretli" bir tamsayı aralığıyla sınırlar.
PHP ints boyutu platforma bağlıdır :
Bir tamsayının boyutu platforma bağlıdır, ancak yaklaşık iki milyar maksimum değer olağan değerdir (bu 32 bit işaretlidir). PHP, işaretsiz tam sayıları desteklemez. Tam sayı boyutu sabit PHP_INT_SIZE kullanılarak ve maksimum değer PHP 4.4.0 ve PHP 5.0.5'ten beri sabit PHP_INT_MAX kullanılarak belirlenebilir.
PHP 6, "long" (64 bit inç) ekler.
(biraz geç ama faydalı olabilir)
Yalnızca PHP_INT_MAX ve PHP_INT_SIZE'e güven , bu değer (32/64 bit) ve işletim sisteminize göre değişir ...
Diğer herhangi bir "tahmin" veya "ipucu" yanlış olabilir.
Ah buldum: 2 32 - 1 adet (2147483647)
Tamsayı taşması
PHP, tamsayı türünün sınırlarının ötesinde bir sayıyla karşılaşırsa, bunun yerine bir kayan nokta olarak yorumlanacaktır. Ayrıca, tamsayı türünün sınırlarının ötesinde bir sayıyla sonuçlanan bir işlem bunun yerine bir kayan nokta döndürür.
<?php
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)
İşletim sisteminize bağlıdır, ancak kılavuza göre 2147483647 olağan değerdir .