>백엔드 개발 >PHP 튜토리얼 >PHP로 개인 소득세를 계산하는 방법

PHP로 개인 소득세를 계산하는 방법

小云云
小云云원래의
2018-03-28 10:24:053502검색

이 글에서는 개인소득세 계산을 위한 PHP를 주로 소개하고, 배열 순회와 수치연산의 간단한 사용을 포함한 예제 형식으로 빠른 계산 공제를 사용하지 않고 개인소득세를 계산하는 PHP 사용자 정의 함수의 관련 운영 기술을 분석합니다. 모두에게 도움이 되기를 바랍니다.

PHP와 JS는 유사점이 있습니다. PHP가 개인 소득세를 계산하는 방법을 알고 나면 JS 코드를 작성하여 동일한 방식으로 개인 소득세를 계산할 수도 있습니다. 차이점은 JavaScript에는 foreach()这样的语法结构,不过随着时代的变迁,现代浏览器中JS ECMASCRIPT 5也开始支持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
?>

관련 권장 사항:

개인 소득세 계산을 구현하는 Javascript_javascript 기술

위 내용은 PHP로 개인 소득세를 계산하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.