3v4l.org

run code in 300+ PHP versions simultaneously
<?php $response = '<ItemTaxWithheldList> <TaxWithheldComponent> <TaxesWithheld> <ChargeComponent> <ChargeType>MarketplaceFacilitatorTax-Shipping</ChargeType> <ChargeAmount> <CurrencyAmount>-5.54</CurrencyAmount> </ChargeAmount> </ChargeComponent> <ChargeComponent> <ChargeType>MarketplaceFacilitatorTax-Principal</ChargeType> <ChargeAmount> <CurrencyAmount>-10.87</CurrencyAmount> </ChargeAmount> </ChargeComponent> </TaxesWithheld> </TaxWithheldComponent> <TaxWithheldComponent> <TaxesWithheld> <ChargeComponent> <ChargeType>MarketplaceFacilitatorTax-Other</ChargeType> <ChargeAmount> <CurrencyAmount>-0.27</CurrencyAmount> </ChargeAmount> </ChargeComponent> <ChargeComponent> <ChargeType>MarketplaceFacilitatorTax-Shipping</ChargeType> <ChargeAmount> <CurrencyAmount>0.0</CurrencyAmount> </ChargeAmount> </ChargeComponent> <ChargeComponent> <ChargeType>MarketplaceFacilitatorTax-Principal</ChargeType> <ChargeAmount> <CurrencyAmount>0.0</CurrencyAmount> </ChargeAmount> </ChargeComponent> </TaxesWithheld> </TaxWithheldComponent> <TaxWithheldComponent> <TaxesWithheld> <ChargeComponent> <ChargeType>MarketplaceFacilitatorTax-Shipping</ChargeType> <ChargeAmount> <CurrencyAmount>0.0</CurrencyAmount> </ChargeAmount> </ChargeComponent> <ChargeComponent> <ChargeType>MarketplaceFacilitatorTax-Principal</ChargeType> <ChargeAmount> <CurrencyAmount>-4.87</CurrencyAmount> </ChargeAmount> </ChargeComponent> </TaxesWithheld> </TaxWithheldComponent> </ItemTaxWithheldList>'; $return_data = simplexml_load_string($response); $array = json_decode(json_encode((array)$return_data), TRUE); $chargeTypes = array('MarketplaceFacilitatorTax-Other', 'MarketplaceFacilitatorTax-Shipping', 'MarketplaceFacilitatorTax-Principal'); foreach ($array['TaxWithheldComponent'] as $itemTaxWithheldList) { $charges = array(); foreach ($itemTaxWithheldList['TaxesWithheld']['ChargeComponent'] as $key) { $mpftChargeType = $key['ChargeType']; $mpftChargeAmount = number_format((float)$key['ChargeAmount']['CurrencyAmount'], 2, '.', ''); $charges[$mpftChargeType] = $mpftChargeAmount; } echo '<tr>'; foreach ($chargeTypes as $chargeType) { echo '<td>' . ($charges[$chargeType] ?? '0.00') . '</td>'; } echo '</tr>'; }
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
<tr><td>0.00</td><td>-5.54</td><td>-10.87</td></tr><tr><td>-0.27</td><td>0.00</td><td>0.00</td></tr><tr><td>0.00</td><td>0.00</td><td>-4.87</td></tr>
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Parse error: syntax error, unexpected '?' in /in/e80k5 on line 73
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected '?' in /in/e80k5 on line 73
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/e80k5 on line 73
Process exited with code 255.

preferences:
162.48 ms | 409 KiB | 5 Q