int varchar
+======+==========+
| id | amount |
+======+==========+
| 1 | 1.40 |
| 2 | 2.40 |
| 3 | 3.40 |
+======+==========+
$res += $row['amount'];
// $res = 6
$res += (float)$row['amount'];
// $res = 6
为什么我不能添加它们?
答案 0 :(得分:1)
根据您的var_dump结果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)
答案 1 :(得分:0)
在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})