Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel 5.5中遇到的格式不正确的数值_Php_Laravel 5 - Fatal编程技术网

Php laravel 5.5中遇到的格式不正确的数值

Php laravel 5.5中遇到的格式不正确的数值,php,laravel-5,Php,Laravel 5,我有这个密码 private function calculateDefferedRevenue($price, $sub) { $defferedrevenue = '0.00'; if ($sub->has('fulfillment') && is_object($sub->fulfillment)) { $fulfillments = $sub->fulfillment; foreach ($fulfil

我有这个密码

private function calculateDefferedRevenue($price, $sub)
{
    $defferedrevenue = '0.00';

    if ($sub->has('fulfillment') && is_object($sub->fulfillment)) {
        $fulfillments = $sub->fulfillment;

        foreach ($fulfillments as $key => $fulfillment) {
            if ($fulfillment->has('shipments') && !is_null($fulfillment->shipments)) {
                $counts = self::countShipments($fulfillment->shipments);

                if (!empty($price) && $counts['shipmentCount'] > 0) {
                    $shippingFee        = self::getShippingFee($sub);
                    $shippingFees       = $counts['unshippedCount'] * $shippingFee;
                    $price              = self::deductUsingCoupon($price, $sub);
                    $eachShipmentAmount = $price / $counts['shipmentCount'];
                    $revenue            = $eachShipmentAmount * $counts['unshippedCount'];
                    $revenue            = $revenue + $shippingFees;
                    $defferedrevenue    = $defferedrevenue + $revenue;
                    $defferedrevenue    = number_format($defferedrevenue, 2);
                }
            }
        }
    }

    return $defferedrevenue;
}
这些是sentry在运行laravel队列作业中的行A之后返回的值集

{
counts: {
shipmentCount: 4, 
shippedCount: 1, 
unshippedCount: 3
}, 
defferedrevenue: 1,049.25, 
eachShipmentAmount: 349.75, 
key: 1, 
price: 1399.00, 
revenue: 1049.25, 
shippingFee: 0.00, 
shippingFees: 0, 
sub: Object Subscription
}
为什么php在这一行中说遇到了格式不正确的数值

$defferedrevenue    = $defferedrevenue + $revenue;

您在此处使用的是
number\u format()
,这可能会添加逗号:

$defferedrevenue    = $defferedrevenue + $revenue;
$defferedrevenue    = number_format($defferedrevenue, 2);
因此,在下一次循环迭代中,您可能会得到如下结果:

$defferedrevenue = "1,234" + 1;
这会生成一个通知,因为“1234”是一个不能自动解释为数字的字符串。只需从循环内部去掉
number\u format()
行,并将其放在循环结束后:

return number_format($defferedrevenue, 2);

您在此处使用的是
number\u format()
,这可能会添加逗号:

$defferedrevenue    = $defferedrevenue + $revenue;
$defferedrevenue    = number_format($defferedrevenue, 2);
因此,在下一次循环迭代中,您可能会得到如下结果:

$defferedrevenue = "1,234" + 1;
这会生成一个通知,因为“1234”是一个不能自动解释为数字的字符串。只需从循环内部去掉
number\u format()
行,并将其放在循环结束后:

return number_format($defferedrevenue, 2);