Maison  >  Article  >  développement back-end  >  Explication détaillée des étapes pour calculer l'impôt sur le revenu des personnes physiques en PHP (avec code)

Explication détaillée des étapes pour calculer l'impôt sur le revenu des personnes physiques en PHP (avec code)

php中世界最好的语言
php中世界最好的语言original
2018-05-17 14:21:343371parcourir

Cette fois, je vais vous apporter une explication détaillée des étapes de calcul de l'impôt sur le revenu des personnes physiques en PHP (avec code). Quelles sont les précautions pour calculer l'impôt sur le revenu des personnes physiques en PHP Voici une pratique. cas, jetons un coup d'oeil.

N'utilisez pas de déductions de calcul rapide pour calculer l'impôt sur le revenu des personnes physiques. PHPfonction personnalisée implémente le calcul de l'impôt sur le revenu des personnes physiques. Utiliser les déductions rapides pour calculer l’impôt sur le revenu des personnes physiques est trop simple et ne sera pas évoqué.

PHP et JS ont des similitudes. Après avoir appris comment PHP calcule l'impôt sur le revenu des personnes physiques, vous pouvez également écrire du code JS pour calculer l'impôt sur le revenu des personnes physiques de la même manière. La différence est que javascript n'a pas de structure grammaticale comme foreach(), mais avec l'évolution des temps, JS ECMASCRIPT 5 dans les navigateurs modernes a également commencé à prendre en charge la méthode forEach().

<?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
?>

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Explication détaillée des étapes pour afficher les variables du contrôleur thinkPHP dans les modèles

Laravel ORM pour le modèle : :find Explication détaillée de la méthode de mise en cache

Le fichier de téléchargement Curl affiche une barre de progression en temps réel (avec code)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn