使用 implode() 遇到格式不正确的数值

A non well formed numeric value encountered using implode()

$revenue = $price - ( (float) $cost_price + implode(' + ', $computed['overheads']) );

.. 导致通知:

Notice: A non well formed numeric value encountered in ...

想知道是什么原因造成的,我该如何解决?

当你 运行 implode 加上 + 符号时,它会从数组中创建一个字符串,并在数组中的每个项目之间添加 +,即, 它不会将代码计算为等式。

如果您知道数组中的所有值都是浮点数(或某种数字类型),您可以使用 array_sum 函数,它创建数组中所有值的总和。

类似于:

$revenue = $price - ((float)$cost_price + array_sum($computed['overheads']));