Setiap data yang datang dari form HTML selalu berupa teks (string), meski pengguna mengetik angka. Sebelum bisa dihitung, teks ini harus dikonversi menjadi angka. Artikel ini membahas cara mengubah string menjadi angka di PHP.
Casting dan Fungsi Konversi
<?php
$teks = "123";
$angka = (int) $teks; // 123 (integer)
$desimal = (float) "9.5"; // 9.5 (float)
echo intval("42 apel"); // 42
echo floatval("3.14 kg"); // 3.14
?>
Contoh Kasus: Menghitung Total Belanja dari Form
<?php $harga = (int) $_POST["harga"]; // "15000" -> 15000 $jumlah = (int) $_POST["jumlah"]; // "3" -> 3 $total = $harga * $jumlah; echo "Total: Rp" . number_format($total, 0, ",", "."); ?>
| Input | (int) | intval() | Number murni? |
|---|---|---|---|
| “42” | 42 | 42 | Ya |
| “42px” | 42 | 42 | Tidak |
| “abc” | 0 | 0 | Tidak |
Validasi: Pastikan Benar-benar Angka
<?php
$input = $_POST["umur"];
if (is_numeric($input)) {
$umur = (int) $input;
} else {
echo "Umur harus berupa angka";
}
?>
Kesimpulan
Gunakan casting (int)/(float) atau intval()/floatval() untuk mengubah string menjadi angka. Selalu periksa dengan is_numeric() lebih dulu bila input berasal dari pengguna agar data tak valid tidak diam-diam menjadi 0.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

