Jawaban:
Dari manual PHP :
Ukuran bilangan bulat bergantung pada platform, meskipun nilai maksimum sekitar dua miliar adalah nilai biasa (yang ditandatangani 32 bit). PHP tidak mendukung integer tak bertanda tangan. Ukuran bilangan bulat dapat ditentukan menggunakan konstanta PHP_INT_SIZE, dan nilai maksimum menggunakan konstanta PHP_INT_MAX sejak PHP 4.4.0 dan PHP 5.0.5.
Platform 64-bit biasanya memiliki nilai maksimum sekitar 9E18, kecuali pada Windows sebelum PHP 7, yang selalu 32 bit.
Build PHP 32-bit:
PHP 64-bit:
Jumlahnya inklusif.
Catatan: beberapa build 64-bit pernah menggunakan integer 32-bit, terutama build Windows lama dari PHP
Nilai di luar rentang ini diwakili oleh nilai titik mengambang, seperti juga nilai non-bilangan bulat dalam rentang ini. Penerjemah akan secara otomatis menentukan kapan peralihan ke titik mengambang ini perlu terjadi berdasarkan apakah nilai hasil kalkulasi tidak dapat direpresentasikan sebagai bilangan bulat.
PHP tidak memiliki dukungan untuk integer "unsigned", membatasi nilai maksimum semua integer ke kisaran integer "bertanda".
Ukuran PHP int tergantung pada platform :
Ukuran bilangan bulat bergantung pada platform, meskipun nilai maksimum sekitar dua miliar adalah nilai biasa (yang ditandatangani 32 bit). PHP tidak mendukung integer tak bertanda tangan. Ukuran bilangan bulat dapat ditentukan menggunakan konstanta PHP_INT_SIZE, dan nilai maksimum menggunakan konstanta PHP_INT_MAX sejak PHP 4.4.0 dan PHP 5.0.5.
PHP 6 menambahkan "longs" (64 bit ints).
(agak terlambat, tapi bisa berguna)
Hanya percaya PHP_INT_MAX dan PHP_INT_SIZE , nilai ini bervariasi pada arch Anda (32/64 bit) dan OS Anda ...
"Tebakan" atau "petunjuk" lainnya bisa jadi salah.
Ah saya menemukannya: 2 32 - 1 (2147483647)
Overflow bilangan bulat
Jika PHP menemukan angka di luar batas tipe integer, itu akan diinterpretasikan sebagai float. Selain itu, operasi yang menghasilkan angka di luar batas tipe integer akan mengembalikan float sebagai gantinya.
<?php
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)
Itu tergantung pada OS Anda, tetapi 2147483647 adalah nilai yang biasa, menurut manual .