Cara perbaiki error seperti ini gampang banget. Pesan kesalahan seperti ini, “Konversi implisit dari float ke int,” menampilkan bahwa satu atau lebih variabel yang diteruskan ke fungsi terserbut bisa jadi berupa float, bukan bilangan bulat atau integer.
Jadi solusinya adalah, sebelum diteruskan, ubah terlebih dahulu variable tersebut menjadi integer. Caranya bisa menggunakan fungsi sebagai berikut:
nama_fungsi(intval($x));
atau
nama_fungsi((int)$x);
Contoh error dibawah terjadi di fungsi captcha_helper.php. errornya terjadi di beberapa line yaitu: 243, 287, dan 305. Error yang muncul pertama sebagai berikut:
A PHP Error was encountered
Severity: 8192
Message: Implicit conversion from float 16.727272727272727 to int loses precision
Filename: helpers/captcha_helper.php
Line Number: 243
Perbaiki line 243 menjadi:
$x_axis = mt_rand(6, intval((360/$length) - 16)); // Convert to int to avoid float
Perbaiki line 287 menjadi:
imageline($im, intval($x), intval($y), intval($x1), intval($y1), $colors['grid']);
Perbaiki line 305 menjadi:
$x = mt_rand(0, (int) ($img_width / ($length / 1.5)));