Med PDO MySQL den underliggende C API
returnerer en struktur af strenge når du kalder mysql_fetch_row()
. Da PHP er et løst skrevet sprog, der automatisk caster til heltal efter behov, formoder jeg, at PDO-udviklerne valgte at returnere dem, som de er. Dette ville være hurtigere end at slå hver kolonnetype op og dynamisk caste til et heltal/float.
Specifikt hvad angår float, kan en indbygget PHP float være anderledes end den oprindelige lagrede værdi, når den konverteres fra en streng. For eksempel understøtter MySQL-kolonner en præcision, mens PHP-floats ikke gør. At efterlade flydere som en streng fra databasen giver dig mere kontrol (f.eks. at vælge at bruge et bibliotek med forskellig præcision).