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)); }
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.6
<h2>Single</h2> <table border="1"> <tr> <th>Taxable Income</th> <th>Tax Rate</th> </tr> <tr> <td>0 - 0</td> <td>10%</td> </tr> <tr> <td>1 - 9700</td> <td>12%</td> </tr> <tr> <td>9701 - 39475</td> <td>22%</td> </tr> <tr> <td>39476 - 84200</td> <td>24%</td> </tr> <tr> <td>84201 - 160725</td> <td>32%</td> </tr> <tr> <td>160726 - 204100</td> <td>35%</td> </tr> <tr> <td>204101 - 510300</td> <td>37%</td> </tr> </table><h2>Married_Jointly</h2> <table border="1"> <tr> <th>Taxable Income</th> <th>Tax Rate</th> </tr> <tr> <td>0 - 0</td> <td>10%</td> </tr> <tr> <td>1 - 19400</td> <td>12%</td> </tr> <tr> <td>19401 - 78950</td> <td>22%</td> </tr> <tr> <td>78951 - 168400</td> <td>24%</td> </tr> <tr> <td>168401 - 321450</td> <td>32%</td> </tr> <tr> <td>321451 - 408200</td> <td>35%</td> </tr> <tr> <td>408201 - 612350</td> <td>37%</td> </tr> </table><h2>Married_Separately</h2> <table border="1"> <tr> <th>Taxable Income</th> <th>Tax Rate</th> </tr> <tr> <td>0 - 0</td> <td>10%</td> </tr> <tr> <td>1 - 9700</td> <td>12%</td> </tr> <tr> <td>9701 - 39475</td> <td>22%</td> </tr> <tr> <td>39476 - 84200</td> <td>24%</td> </tr> <tr> <td>84201 - 160725</td> <td>32%</td> </tr> <tr> <td>160726 - 204100</td> <td>35%</td> </tr> <tr> <td>204101 - 306175</td> <td>37%</td> </tr> </table><h2>Head_Household</h2> <table border="1"> <tr> <th>Taxable Income</th> <th>Tax Rate</th> </tr> <tr> <td>0 - 0</td> <td>10%</td> </tr> <tr> <td>1 - 13850</td> <td>12%</td> </tr> <tr> <td>13851 - 52850</td> <td>22%</td> </tr> <tr> <td>52851 - 84200</td> <td>24%</td> </tr> <tr> <td>84201 - 160700</td> <td>32%</td> </tr> <tr> <td>160701 - 204100</td> <td>35%</td> </tr> <tr> <td>204101 - 510300</td> <td>37%</td> </tr> </table>

preferences:
119.45 ms | 1712 KiB | 4 Q