Dalam bab ini, kita akan melihat secara mendalam tentang bilangan bulat (integer), bilangan pecahan (float), dan string dalam bentuk angka.
PHP Number
Satu hal yang perlu diperhatikan tentang PHP adalah PHP menyediakan konversi tipe data secara otomatis.
Jadi, jika Anda menetapkan nilai bilangan bulat ke sebuah variabel, jenis variabel tersebut secara otomatis akan berupa bilangan bulat. Kemudian, jika Anda menetapkan string ke variabel yang sama, jenisnya akan berubah menjadi string.
Konversi otomatis ini terkadang dapat membuat kode Anda sedikit menjadi membingungkan.
PHP Integer
Angka-angka berikut ini seperti 2, 256, -256, 10358, -179567 semuanya bilangan bulat.
Bilangan bulat adalah angka tanpa bagian desimal.
Tipe data integer adalah angka non-desimal antara -2147483648 dan 2147483647 dalam sistem 32 bit, dan antara -9223372036854775808 dan 9223372036854775807 dalam sistem 64 bit. Nilai yang lebih besar (atau lebih rendah) dari ini, akan disimpan sebagai float, karena melebihi batas bilangan bulat.
Catatan: Hal lain yang penting untuk diketahui adalah meskipun 4 * 2.5 adalah 10, hasilnya disimpan sebagai float, karena salah satu operannya adalah float (2.5).
Berikut adalah beberapa aturan untuk bilangan bulat:
- Integer harus memiliki setidaknya satu digit
- Integer TIDAK boleh memiliki titik desimal
- Bilangan bulat dapat berupa positif atau negatif
- Bilangan bulat dapat ditentukan dalam tiga format: desimal (berbasis 10), heksadesimal (berbasis 16 – diawali dengan 0x) atau oktal (berbasis 8 – diawali dengan 0)
PHP memiliki konstanta standar berikut untuk bilangan bulat:
- PHP_INT_MAX – Bilangan bulat terbesar yang didukung
- PHP_INT_MIN – Bilangan bulat terkecil yang didukung
- PHP_INT_SIZE – Ukuran bilangan bulat dalam byte
PHP memiliki fungsi berikut untuk memeriksa apakah tipe variabel adalah bilangan bulat:
- is_int()
- is_integer() – alias dari is_int()
- is_long() – alias dari is_int()
Contoh
Periksa apakah tipe variabel adalah bilangan bulat:
<!DOCTYPE html>
<html>
<body>
<?php
// Periksa apakah tipe variabel adalah bilangan bulat
$x = 5985;
var_dump(is_int($x));
echo "<br>";
// Periksa lagi...
$x = 59.85;
var_dump(is_int($x));
?>
</body>
</html>
PHP Float
Float adalah angka dengan titik desimal atau angka dalam bentuk eksponensial.
Bilangan 2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 semuanya bilangan float.
Jenis data float biasanya dapat menyimpan nilai hingga 1,7976931348623E+308 (tergantung platform), dan memiliki presisi maksimum 14 digit.
PHP memiliki konstanta standar berikut untuk float (dari PHP 7.2):
- PHP_FLOAT_MAX – Angka floating point terbesar yang dapat direpresentasikan
- PHP_FLOAT_MIN – Angka floating point positif terkecil yang dapat direpresentasikan
- PHP_FLOAT_DIG – Jumlah digit desimal yang dapat dibulatkan menjadi float dan kembali tanpa kehilangan presisi
- PHP_FLOAT_EPSILON – Angka positif terkecil yang dapat diwakili x, sehingga x + 1.0 != 1.0
PHP memiliki fungsi berikut untuk memeriksa apakah tipe variabel adalah float:
- is_float()
- is_double() – alias dari is_float()
Contoh
Periksa apakah tipe variabelnya float:
<!DOCTYPE html>
<html>
<body>
<?php
// Periksa apakah tipe variabelnya float
$x = 10.365;
var_dump(is_float($x));
?>
</body>
</html>
PHP Infinity
Nilai numerik yang lebih besar dari PHP_FLOAT_MAX dianggap infinity (bilangan tidak terbatas).
PHP memiliki fungsi berikut untuk memeriksa apakah nilai numerik terbatas atau tidak terbatas:
- is_finite()
- is_infinite()
Contoh
Periksa apakah nilai numerik terbatas atau tidak terbatas:
<!DOCTYPE html>
<html>
<body>
<?php
// Periksa apakah nilai numerik terbatas atau tidak terbatas
$x = 1.9e411;
var_dump($x);
?>
</body>
</html>
PHP NaN
NaN adalah singkatan dari sesuatu yang bukan angka atau angka yang tidak terdefinisikan.
NaN digunakan untuk operasi matematika yang mustahil.
PHP memiliki fungsi berikut untuk memeriksa apakah suatu nilai bukan angka:
- is_nan()
Contoh
Perhitungan yang tidak valid akan menghasilkan nilai NaN:
<!DOCTYPE html>
<html>
<body>
<?php
// Perhitungan yang tidak valid akan kembalikan nilai NaN
$x = acos(8);
var_dump($x);
?>
</body>
</html>
PHP String Numerik
Fungsi PHP is_numeric() dapat digunakan untuk menemukan apakah suatu variabel adalah numerik. Fungsi ini mengembalikan nilai benar jika variabelnya berupa angka atau string numerik, sebaliknya salah.
Contoh
Periksa apakah variabelnya numerik:
<!DOCTYPE html>
<html>
<body>
<?php
// Periksa apakah variabelnya numerik
$x = 5985;
var_dump(is_numeric($x));
echo "<br>";
$x = "5985";
var_dump(is_numeric($x));
echo "<br>";
$x = "59.85" + 100;
var_dump(is_numeric($x));
echo "<br>";
$x = "Halo";
var_dump(is_numeric($x));
?>
</body>
</html>
Catatan: Dari PHP 7.0: Fungsi is_numeric() akan mengembalikan FALSE untuk string numerik dalam bentuk heksadesimal (contoh 0xf4c3b00c), karena tidak lagi dianggap sebagai string numerik.
PHP Casting String dan Float ke Integer
Terkadang Anda perlu mentransmisikan atau mengubah nilai numerik ke jenis data lain, proses ini disebut dengan Casting.
Fungsi (int), (integer), atau intval() sering digunakan untuk mengubah (casting) suatu nilai menjadi bilangan bulat.
Contoh
Casting float dan string ke integer:
<!DOCTYPE html>
<html>
<body>
<?php
// Casting float ke integer
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;
echo "<br>";
// Casting string ke integer
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>
</body>
</html>
Tutorial sebelumnya : PHP trim
Tutorial setelahnya : PHP Math
Semua Tutorial PHP : Tutorial PHP