Home >Backend Development >PHP Tutorial >How to calculate personal income tax in PHP
This article mainly introduces PHP to calculate personal income tax, and analyzes the relevant operating skills of PHP custom functions to calculate personal income tax without using quick calculation deductions in the form of examples, involving the simple use of array traversal and numerical operations. Hope it helps everyone.
PHP and JS have similarities. After knowing the method of calculating personal income tax in PHP, you can also write JS code to calculate personal income tax in the same way. The difference is that javascript does not have a syntax structure like foreach()
, but with the changes of the times, JS ECMASCRIPT 5 in modern browsers has also begun to support the forEach()
method.
<?php /* PHP不使用速算扣除数计算个人所得税 * @author 吴先成 * @param float $salary 含税收入金额 * @param float $deduction 保险等应当扣除的金额 默认值为0 * @param float $threshold 起征金额 默认值为3500 * @return float | false 返回值为应缴税金额 参数错误时返回false */ function getPersonalIncomeTax($salary, $deduction=0, $threshold=3500){ if(!is_numeric($salary) || !is_numeric($deduction) || !is_numeric($threshold)){ return false; } if($salary <= $threshold){ return 0; } $levels = array(1500, 4500, 9000, 35000, 55000, 80000, PHP_INT_MAX); $rates = array(0.03, 0.1, 0.2, 0.25, 0.3, 0.35, 0.45); $taxableIncome = $salary - $threshold - $deduction; $tax = 0; foreach($levels as $k => $level){ $previousLevel = isSet($levels[$k-1]) ? $levels[$k-1] : 0; if($taxableIncome <= $level){ $tax += ($taxableIncome - $previousLevel) * $rates[$k]; break; } $tax += ($level-$previousLevel) * $rates[$k]; } $tax = round($tax, 2); return $tax; } /* 示例 */ echo getPersonalIncomeTax(10086.11); //运行结果:762.22 ?>
Related recommendations:
Javascript implementation of calculating personal income tax_javascript skills
The above is the detailed content of How to calculate personal income tax in PHP. For more information, please follow other related articles on the PHP Chinese website!