php - 如何对任何 foreach 循环结果的总值求和

标签 php codeigniter

我想显示总薪水,即所有员工的净薪水之和。我怎样才能做到这一点?我已经尝试了一些代码,但它不工作 Please check this image

            <tbody>
                <?php 

                $salary = 0;
                if (!empty($emp_salary_info)):foreach ($emp_salary_info as $v_emp_salary):

                $salary = $salary + $v_emp_salary->basic_salary;
                 ?>                    
                        <tr>
                            <td><?php echo $v_emp_salary->employment_id; ?></td>
                            <td><?php echo $v_emp_salary->first_name . ' ' . $v_emp_salary->last_name ?></td>
                            <td><?php echo $gross = $v_emp_salary->basic_salary + $v_emp_salary->house_rent_allowance + $v_emp_salary->medical_allowance + $v_emp_salary->special_allowance + $v_emp_salary->fuel_allowance + $v_emp_salary->phone_bill_allowance + $v_emp_salary->other_allowance ?></td>
                            <td><?php echo $deduction = $v_emp_salary->tax_deduction + $v_emp_salary->provident_fund + $v_emp_salary->other_deduction ?></td>
                            <?php $net_salary = $gross - $deduction ?>

                            <td><?php echo $net_salary ?></td>
                            <td><?php
                                if ($v_emp_salary->employment_type == 1) {
                                    echo 'Provision';
                                } else {
                                    echo 'Permanent';
                                }
                                ?></td>
                            <td><?php echo btn_view('admin/payroll/view_salary_details/' . $v_emp_salary->employee_id); ?></td>
                            <td>
                                <?php echo btn_edit('admin/payroll/manage_salary_details/' . $v_emp_salary->employee_id . '/' . $v_emp_salary->designations_id); ?>                                    
                            </td>
                        </tr>                
                    <?php endforeach; ?>
                <?php endif; ?>
            </tbody>

这是我尝试计算净工资总和的代码

<?php           
    $salary = 0;
    if (!empty($emp_salary_info)):foreach ($emp_salary_info as $v_emp_salary):
        $salary = $salary + $v_emp_salary->basic_salary;

        echo 'Total Salary :' 
?> 
<?php echo $salary; ?> 

最佳答案

我认为您正在使用数据表来显示表记录。完成记录计算后尝试打印 Total。

在图像中,您在完成过程之前显示总数。

也改了几行代码

    if(!isset($v_emp_salary->basic_salary) || empty($v_emp_salary->basic_salary) || !is_numeric($v_emp_salary->basic_salary))
    {
        $v_emp_salary->basic_salary = 0;
    }

$salary = $salary + $v_emp_salary->basic_salary;

不过,如果您没有找到总数,请尝试检查 $emp_salary_info 中的数据,它可能包含空的或错误的工资数据。

关于php - 如何对任何 foreach 循环结果的总值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43932221/

相关文章:

php 5.3/mysql : why doesn't apache see mysql?

javascript - php & mysql 和 ajax(将图像插入 CRUD 应用程序)

mysql - 左连接不适用于 codeigniter

php - 尝试通过制作可重用功能来减少代码点火器中的代码

php - 检查数据是否已经存在

php - 发布http ://localhost/MyApp/MyCon/customerCheck 500 (Internal Server Error)

php - 如何获取MySQL int字段的长度

php - Magento 中的 Paypal 状态

php - 如何将特定行(查询输出)移动到其他服务器上的另一个数据库?

php - CodeIgniter 身份验证 + 用户权限