На SO есть
какое-то решение, но выглядит как что-то нестандартное, имхо проще в классе дб добавить при возврате из селекта проверку на тип, и возвращать уже в готовом виде, что то типа:
if($row = $sql->fetch(PDO::FETCH_ASSOC) !== false){
foreach($row as $k=>$v) {
if(is_numeric($v)) $row[$k] = intval($v);
}
}
Это тоже костыль, но хотя бы не придется в каждом запросе все оборачивать в проверки.