Met PDO MySQL de onderliggende C API
geeft een structuur van tekenreeksen bij het aanroepen van mysql_fetch_row()
. Aangezien PHP een losjes getypte taal is die indien nodig automatisch naar integer cast, vermoed ik dat de PDO-ontwikkelaars ervoor hebben gekozen om ze terug te sturen zoals ze zijn. Dit zou sneller zijn dan elk kolomtype opzoeken en dynamisch casten naar een geheel getal / float.
Specifiek met betrekking tot float, kan een native PHP float anders zijn dan de oorspronkelijke opgeslagen waarde wanneer deze wordt geconverteerd vanuit een string. MySQL-kolommen ondersteunen bijvoorbeeld een precisie, terwijl PHP-floats dat niet doen. Door floats als een tekenreeks uit de database te laten, heeft u meer controle (bijv. door ervoor te kiezen om een bibliotheek te gebruiken met verschillende precisie).