Home  >  Article  >  Backend Development  >  Detailed explanation of the steps to calculate personal income tax in PHP (with code)

Detailed explanation of the steps to calculate personal income tax in PHP (with code)

php中世界最好的语言
php中世界最好的语言Original
2018-05-17 14:21:343359browse

This time I will bring you a detailed explanation of the steps to calculate personal income tax in PHP (with code). What are the precautions for calculating personal income tax in PHP? . Here is a practical case, let's take a look.

Do not use quick calculation deductions to calculate personal income tax, PHPCustom function implements personal income tax calculation. Using quick deductions to calculate personal income tax is too simple and will be omitted.

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 grammatical structure like foreach(), but with the changes of the times, JS ECMASCRIPT 5 in modern browsers also begins to support 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
?>

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

thinkPHP controller variable display steps in the template detailed explanation

Laravel ORM's support for Model::find Detailed explanation of caching method

Curl download file displays real-time progress bar (with code)

The above is the detailed content of Detailed explanation of the steps to calculate personal income tax in PHP (with code). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn