Dengan PDO MySQL API C yang mendasarinya
mengembalikan struktur string saat memanggil mysql_fetch_row()
. Karena PHP adalah bahasa yang diketik secara longgar yang secara otomatis dilemparkan ke integer seperlunya, saya menduga pengembang PDO memilih untuk mengembalikannya apa adanya. Ini akan lebih cepat daripada mencari setiap jenis kolom dan secara dinamis melakukan casting ke integer / float.
Khusus mengenai float, float PHP asli mungkin berbeda dari nilai tersimpan asli saat dikonversi dari string. Misalnya, kolom MySQL mendukung presisi sementara PHP float tidak. Membiarkan float sebagai string dari database memungkinkan Anda lebih mengontrol (misalnya memilih untuk menggunakan library dengan presisi berbeda).