3v4l.org

run code in 500+ PHP versions simultaneously
<?php define('TAX_RATES', array( 'Single' => array( 'Rates' => array(10,12,22,24,32,35,37), 'Ranges' => array(0,9700,39475,84200,160725,204100,510300), 'MinTax' => array(0, 970,4543,14382,32748,46628,153798) ), 'Married_Jointly' => array( 'Rates' => array(10,12,22,24,32,35,37), 'Ranges' => array(0,19400,78950,168400,321450,408200,612350), 'MinTax' => array(0, 1940,9086,28765,65497,93257,164709) ), 'Married_Separately' => array( 'Rates' => array(10,12,22,24,32,35,37), 'Ranges' => array(0,9700,39475,84200,160725,204100,306175), 'MinTax' => array(0, 970,4543,14382.50,32748.50,46628.50,82354.75) ), 'Head_Household' => array( 'Rates' => array(10,12,22,24,32,35,37), 'Ranges' => array(0,13850,52850,84200,160700,204100,510300), 'MinTax' => array(0, 1385,6065,12962,31322,45210,152380) ) ) ); $tableTemplate = <<<TABLE <h2>%s</h2> <table border="1"> <tr> <th>Taxable Income</th> <th>Tax Rate</th> </tr> %s </table> TABLE; $rowTemplate = <<<ROW <tr> <td>%d - %d</td> <td>%d%%</td> </tr> ROW; foreach (TAX_RATES as $status => $data) { $rows = []; foreach ($data['Rates'] as $i => $rates) { $lastRange = !$i ? 0 : $data['Ranges'][$i - 1] + 1; $rows[] = sprintf($rowTemplate, $lastRange, $data['Ranges'][$i], $rates); } printf($tableTemplate, $status, implode("\n", $rows)); }

preferences:
55.78 ms | 1713 KiB | 5 Q