使用 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']));
$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']));