array_map()関数

array_mapは、arr1の各要素にcallback関数を適用した後、その全ての要素を含む配列を返す。

所得税の累進課税でみてみましょう。

<?php

function tax($income){
	if($income < 195){
		return $income *0.05;
	} elseif ($income < 330){
		return $income * 0.1 + 9.75; 
	} elseif ($income< 695) {
		return $income * 0.2 + 42.75;
	} elseif ($income < 900) {
		return $income * 0.23 + 63.6;
	} elseif ($income < 1800) {
		return $income * 0.33 + 153.6;
	} elseif ($income < 4000) {
		return $income * 0.40 + 279.6;
	} else {
		return $income * 0.45 + 479.6;
	}
}

$salary = array(603, 577, 404, 401, 661, 1126, 350, 2350, 210);
$pay = array_map("tax", $salary);
print_r($pay)
?>

Array ( [0] => 163.35 [1] => 158.15 [2] => 123.55 [3] => 122.95 [4] => 174.95 [5] => 525.18 [6] => 112.75 [7] => 1219.6 [8] => 30.75 )