S PDO MySQL základním C API
vrátí strukturu řetězců při volání mysql_fetch_row()
. Protože PHP je volně napsaný jazyk, který podle potřeby automaticky přetypuje na celé číslo, mám podezření, že se vývojáři PDO rozhodli vrátit je tak, jak jsou. Bylo by to rychlejší než vyhledávání jednotlivých typů sloupců a dynamické přetypování na celé číslo / float.
Konkrétně pokud jde o float, nativní PHP float se může při převodu z řetězce lišit od původní uložené hodnoty. Například sloupce MySQL podporují přesnost, zatímco plovoucí PHP ne. Ponechání floatů jako řetězce z databáze vám umožní větší kontrolu (např. volba použití knihovny s různou přesností).