首页 > 解决方案 > 100 > 100 为真

问题描述

我有这个对象:

{
    timestamp:2021-09-10T08:30:00Z,
    keys:[
        {usage_point_id:24329232979894,key:69},
        {usage_point_id:24327496366232,key:7.4},
        {usage_point_id:30002431659877,key:0},
        {usage_point_id:24348769886471,key:1.3755},
        {usage_point_id:24328075237474,key:10.4},
        {usage_point_id:24348480450805,key:11.8245}
    ]
}

我想确保所有这些百分比的总和不超过 100。所以,我这样做:

$measuresByTS->each(function ($measures) {
    if ($measures['keys']->sum('key') > 100) {
        dump("sum is superior to 100 : ". $measures['keys']->sum('key'));
    }
});

就我而言,奇怪的是,我手动检查了总和,它等于 100,而不是优越。在这种情况下,在我的代码中,它将显示:

"sum is superior to 100 : 100"

我试图投射$measures['keys']->sum('key')float,但它不起作用。

有人知道为什么会这样吗?

使用 Laravel 8 / PHP 8

标签: phplaravel

解决方案


推荐阅读