首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数组中的两列相乘,求出它们的和

将数组中的两列相乘,求出它们的和
EN

Stack Overflow用户
提问于 2017-11-21 05:20:30
回答 1查看 45关注 0票数 0

我从一个数据库查询中获得了这个按日期分组的数组结构(见下文),我希望通过将quantity乘以transamount来计算每个组的总数。

这就是我到目前为止所知道的:

代码语言:javascript
运行
复制
    array (size=3)
    '2017-7-03' =>
            array (size=3)
            0 =>
                    array (size=4)
                    'paydate' => string '2017-7-03' (length=9)
                    'tariff' => string 'batch1' (length=31)
                    'quantity' => string '1.0000' (length=6)
                    'transamount' => string '20.0000' (length=7)
            1 =>
                    array (size=4)
                    'paydate' => string '2017-7-03' (length=9)
                    'tariff' => string 'Eye Test' (length=8)
                    'quantity' => string '1.0000' (length=6)
                    'transamount' => string '5.0000' (length=6)
            2 =>
                    array (size=4)
                    'paydate' => string '2017-7-03' (length=9)
                    'tariff' => string 'hub photos' (length=16)
                    'quantity' => string '1.0000' (length=6)
                    'transamount' => string '82.0000' (length=7)
                    '2017-7-04' =>
            array (size=9)
            0 =>
                    array (size=4)
                    'paydate' => string '2017-7-04' (length=9)
                    'tariff' => string ' Register' (length=21)
                    'quantity' => string '1.0000' (length=6)
                    'transamount' => string '20.0000' (length=7)

其目的是获得按日期分组的所有事务的总数。

EN

回答 1

Stack Overflow用户

发布于 2017-11-21 06:23:06

这可能不起作用,因为我不确定您是否需要使用日期作为关键字来访问事务...但是类似这样的代码会将一个元素添加到每个具有合计的数组项中。

代码语言:javascript
运行
复制
// loop through the arrays sorted by date
foreach ($groups as $group)
{
    $total = 0;
    // loop through each transaction
    foreach ($group as $transaction)
    {
        // Add to the total for each purchase group
        $total += $transaction->quantity * $transaction->transamount;
    }
    // put the total into the group array
    $group->total = $total
}

这样,您应该会得到类似这样的结果

代码语言:javascript
运行
复制
'total' => (calculated value),     
'2017-7-03' =>
        array (size=3)
        0 =>
                array (size=4)
                'paydate' => string '2017-7-03' (length=9)
                'tariff' => string 'batch1' (length=31)
                'quantity' => string '1.0000' (length=6)
                'transamount' => string '20.0000' (length=7)
        1 =>
                array (size=4)
                'paydate' => string '2017-7-03' (length=9)
                'tariff' => string 'Eye Test' (length=8)
                'quantity' => string '1.0000' (length=6)
                'transamount' => string '5.0000' (length=6)
        2 =>
                array (size=4)
                'paydate' => string '2017-7-03' (length=9)
                'tariff' => string 'hub photos' (length=16)
                'quantity' => string '1.0000' (length=6)
                'transamount' => string '82.0000' (length=7)
                '2017-7-04' =>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47401244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档