PHP如何在foreach循环中做数学

时间:2018-06-03 19:50:23

标签: php

我有一个包含值的动态字段,我需要用它们做数学运算。在foreach中执行此操作的方法是什么,我是否必须在每个循环结束时保存每个值?

示例有4个字段:

 - $Field1 = 2;
 - $Field2 = 2;
 - $Field3 = 2;
 - $Field4 = 2; 

 Example math formula:
$sum = $Field1 * $Field2 + $Field3 - $Field4 ;

我所拥有的是我将这些动态值打印到表格中并且表格适应用户输入:

<tbody>
        <?php foreach ($_POST['fields'] as $key => $value) : ?>
            <tr>
                <td><?php echo $value['description']; ?></td>
                <td><?php echo $value['hour_rate']; ?></td>
                <td><?php echo $value['hours']; ?></td>
                <td><?php echo $value['fixed_cost']; ?></td>
                <td><?php echo $value['discount']; ?></td>
                <td?<?php echo $SUM ?> </td>
            </tr>
        <?php endforeach; ?>
        <tr></tr>
    </tbody>

我可以获得所有这些值的 TOTAL SUM (在本例中为$ SUM),但不是1比1。

    $kopa+= number_format($value['hours'], 2)* number_format($value['hour_rate'], 2) + number_format($value['fixed_cost'], 2) - number_format($value['discount'], 2);

如何获得每个循环的总值?

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用您的公式和额外的foreach创建一个函数。使用foreach循环中的函数。您甚至可以遍历数组中的字段。 (如果你把它们作为数组。)

function doMath (array){

     $sum = $array['field1'] * $array['field2'] + $..


     return $sum;

}

foreach ( $whatever as $key => $value) {

    echo doMath ($array ['withFields']);

}

简单示例