Oleh : Abah Razi
بسم الله الرحمن الرحيم
Untuk secara eksplisit mengkonversi sebuah nilai ke integer, gunakan (int)
atau (integer)
. Walaupun, dalam banyak kasus cast tidak diperlukan karena sebuah nilai akan secara otomatis dikonversi jika operator, fungsi atau struktur kontrol membutuhkan suatu argumen integer. Sebuah nilai dapat juga dikonversi ke integer dengan fungsi intval()
.
Jika sebuah sumber dikonversi ke sebuah integer, maka hasilnya akan menjadi angka sumber unik yang diassgn ke resource oleh PHP saat runtime.
Lihat juga Tipe Juggling
Dari Boolean
FALSE akan menghasilkan 0 (nol) dan TRUE akan menghasilkan 1 (satu).
Dari angka Floating Point
Saat mengkonversi dari float ke integer, angka akan dibulatkan menuju 0.
Jika nilai float ada diluar nilai integer (biasanya +/- 2.15e+9 = 2^31 pada platform 32-bit dan +/- 9.22e+18 = 2^63 pada platform 64-bit), maka hasil akan bersifat undefined
, dikarenakan float tidak memiliki presisi yang cukup untuk memberikan hasil integer yang tepat. Tidak ada pesan peringatan yang muncul, bahkan tidak ada pemberitahuan apapun jika ini terjadi
PERINGATAN
Jangan pernah melakukan cast terhadap sebuah fraksi tidak dikenal ke integer, karena dapat menghasilkan nilai yang tidak diharapkan
Contoh :
<!--?php echo (int) ( (0.1+0.7) * 10 ); // echoes 7! ?-->
Lihat juga peringatan tentang presisi float
Dari String
Lihat : Konversi String ke Angka
Dari tipe lain
Peringatan : Perilaku mengkonversi ke integer tidak didefinisikan untuk tipe-tipe lain. Jangan bergantung pada apa yang pernah dilihat, karena bisa saja berubah tanpa pemberitahuan apapun.
Leave a Reply