int varchar +======+==========+ | id | amount | +======+==========+ | 1 | 1.40 | | 2 | 2.40 | | 3 | 3.40 | +======+==========+ $res += $row['amount']; // $res = 6 $res += (float)$row['amount']; // $res = 6
почему я не могу их добавить?
Согласно вашим результатам var_dump string(8) "1,000.00" string(8) "2,391.45" string(8) "2,005.31", это проблема ваших данных.
string(8) "1,000.00" string(8) "2,391.45" string(8) "2,005.31"
(float)"2,391.45" приведёт строку string("2,391.45") к float(2)
(float)"2,391.45"
string("2,391.45")
float(2)
В PHP числа с плавающей запятой не могут содержать запятую: http://php.net/manual/en/language.types.float.php
LNUM [0-9]+ DNUM ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*) EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})