Mit PDO MySQL der zugrunde liegenden C-API
gibt eine Struktur von Strings zurück beim Aufruf von mysql_fetch_row()
. Da PHP eine lose typisierte Sprache ist, die bei Bedarf automatisch in Integer umwandelt, vermute ich, dass die PDO-Entwickler sich dafür entschieden haben, sie so zurückzugeben, wie sie sind. Dies wäre schneller, als jeden Spaltentyp nachzuschlagen und dynamisch in eine Ganzzahl / Float umzuwandeln.
Insbesondere in Bezug auf Float kann sich ein nativer PHP-Float von dem ursprünglich gespeicherten Wert unterscheiden, wenn er aus einer Zeichenfolge konvertiert wird. Beispielsweise unterstützen MySQL-Spalten eine Genauigkeit, während PHP-Floats dies nicht tun. Floats als Zeichenfolge aus der Datenbank zu belassen, ermöglicht Ihnen mehr Kontrolle (z. B. die Wahl, eine Bibliothek zu verwenden mit unterschiedlicher Genauigkeit).