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 )