PHP - 求和十进制值数组

1 php floating-point sum decimal

我正在尝试计算PHP中十进制值数组的总和,但由于某种原因它会保持四舍五入到整数.

例如:

$oldArray = array(0.00,1000.11,988.92,978.22,964.01,953.07,948.82,917.26,902.56,913.21,904.08,898.86,892.79);
$myVar = 0.0;
for($k=1;$k<10;$k++)
{
$myVar += $oldArray[$k];
}
print_r($myVar);
Run Code Online (Sandbox Code Playgroud)

$ oldArray实际上是用SQL查询中的十进制值填充的($ oldarray的长度大约是几百个,但我想要第一个10.在上面的例子中,我希望$ myVar是一个小数,但事实证明只是一个整数.我尝试在for循环之前设置$ myVar = 0.0000,我尝试了$ myVar + = $ oldArray [$ k] + 0.0000等,但似乎没有任何效果.

我究竟做错了什么?如何将$ myVar显式设置为小数?

Mat*_*chu 12

鉴于这似乎无法重现,对我而言,这听起来像是PHP环境本身的问题.

检查php.ini以获取名为"precision"的设置,并确保将其设置为默认的14位有效数字.我无法想象为什么会改变这种情况,但肯定会产生影响.