3v4l.org

run code in 300+ PHP versions simultaneously
<?php $resp = '{ "IsSuccess": true, "ResponseCode": 5000, "ResponseMessage": "OK", "Data": { "result": { "RATE_TO_ALL": [ { "FROM_CURR_NAME": "CHF", "TO_CURR_NAME": "TRY", "TREND_RATE": "0", "SELL_RATE": "45.51", "BUY_RATE": "26.24", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "GBP", "TO_CURR_NAME": "TRY", "TREND_RATE": "0", "SELL_RATE": "50.71", "BUY_RATE": "29.24", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "CAD", "TO_CURR_NAME": "CHF", "TREND_RATE": "0", "SELL_RATE": "0.69", "BUY_RATE": "0.66", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "AUD", "TO_CURR_NAME": "TRY", "TREND_RATE": "0", "SELL_RATE": "26.63", "BUY_RATE": "15.35", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "AUD", "TO_CURR_NAME": "GBP", "TREND_RATE": "0", "SELL_RATE": "0.54", "BUY_RATE": "0.51", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "AUD", "TO_CURR_NAME": "CHF", "TREND_RATE": "0", "SELL_RATE": "0.60", "BUY_RATE": "0.57", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "AUD", "TO_CURR_NAME": "CAD", "TREND_RATE": "0", "SELL_RATE": "0.88", "BUY_RATE": "0.85", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "CAD", "TO_CURR_NAME": "TRY", "TREND_RATE": "0", "SELL_RATE": "30.88", "BUY_RATE": "17.80", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "CAD", "TO_CURR_NAME": "GBP", "TREND_RATE": "0", "SELL_RATE": "0.62", "BUY_RATE": "0.60", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "CHF", "TO_CURR_NAME": "GBP", "TREND_RATE": "0", "SELL_RATE": "0.92", "BUY_RATE": "0.88", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "USD", "TO_CURR_NAME": "GBP", "TREND_RATE": "0", "SELL_RATE": "0.83", "BUY_RATE": "0.80", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "USD", "TO_CURR_NAME": "TRY", "TREND_RATE": "0", "SELL_RATE": "33.89", "BUY_RATE": "22.92", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "CHF", "TO_CURR_NAME": "ALL", "TREND_RATE": "0", "SELL_RATE": "110.85", "BUY_RATE": "107.10", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "CAD", "TO_CURR_NAME": "ALL", "TREND_RATE": "0", "SELL_RATE": "72.90", "BUY_RATE": "70.40", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "AUD", "TO_CURR_NAME": "EUR", "TREND_RATE": "0", "SELL_RATE": "0.62", "BUY_RATE": "0.60", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "AUD", "TO_CURR_NAME": "ALL", "TREND_RATE": "0", "SELL_RATE": "64.75", "BUY_RATE": "62.55", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "CHF", "TO_CURR_NAME": "EUR", "TREND_RATE": "0", "SELL_RATE": "1.05", "BUY_RATE": "1.02", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "EUR", "TO_CURR_NAME": "ALL", "TREND_RATE": "0", "SELL_RATE": "105.35", "BUY_RATE": "104.75", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "EUR", "TO_CURR_NAME": "GBP", "TREND_RATE": "0", "SELL_RATE": "0.89", "BUY_RATE": "0.85", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "EUR", "TO_CURR_NAME": "TRY", "TREND_RATE": "0", "SELL_RATE": "35.94", "BUY_RATE": "24.90", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "GBP", "TO_CURR_NAME": "ALL", "TREND_RATE": "0", "SELL_RATE": "123.00", "BUY_RATE": "117.35", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "TRY", "TO_CURR_NAME": "ALL", "TREND_RATE": "0", "SELL_RATE": "3.81", "BUY_RATE": "3.10", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "USD", "TO_CURR_NAME": "ALL", "TREND_RATE": "0", "SELL_RATE": "99.10", "BUY_RATE": "97.15", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "USD", "TO_CURR_NAME": "AUD", "TREND_RATE": "0", "SELL_RATE": "1.57", "BUY_RATE": "1.52", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "USD", "TO_CURR_NAME": "CAD", "TREND_RATE": "0", "SELL_RATE": "1.39", "BUY_RATE": "1.35", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "USD", "TO_CURR_NAME": "CHF", "TREND_RATE": "0", "SELL_RATE": "0.92", "BUY_RATE": "0.89", "PERCENTAGE_RATE": "0.00" }, { "FROM_CURR_NAME": "USD", "TO_CURR_NAME": "EUR", "TREND_RATE": "0", "SELL_RATE": "0.95", "BUY_RATE": "0.91", "PERCENTAGE_RATE": "0.00" } ], "LASTUPDATED": "04-11-2023 14:30:03" } } }'; $data = json_decode($resp, true); $rates = array_reduce($data['Data']['result']['RATE_TO_ALL'], function ($acc, $item) { $acc[$item['FROM_CURR_NAME']][$item['TO_CURR_NAME']] = array( 'SELL_RATE' => $item['SELL_RATE'], 'BUY_RATE' => $item['BUY_RATE'] ); return $acc; }, array()); $required_rates = [ ['FROM_CURR_NAME' => 'EUR', 'TO_CURR_NAME' => 'GBP'], ['FROM_CURR_NAME' => 'EUR', 'TO_CURR_NAME' => 'TRY'], ['FROM_CURR_NAME' => 'USD', 'TO_CURR_NAME' => 'GBP'] ]; $results = []; $id = 1; foreach ($required_rates as ['FROM_CURR_NAME' => $from, 'TO_CURR_NAME' => $to]) { $buy = $rates[$from][$to]['BUY_RATE']; $sell = $rates[$from][$to]['SELL_RATE']; $results[] = array("id" => $id++, "currency" => $from, "buy" => $buy, "sell" => $sell); } $json_data = json_encode(array('Exchange Rates' => $results)); echo json_encode(array('Exchange Rates' => $results), JSON_PRETTY_PRINT);

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.5.10.0130.00716.86
8.5.00.0120.01120.11
8.4.150.0030.00014.05
8.4.140.0110.00917.87
8.4.130.0120.00717.69
8.4.120.0060.00520.59
8.4.110.0060.00422.73
8.4.100.0120.00817.76
8.4.90.0150.00517.84
8.4.80.0040.00417.75
8.4.70.0140.00618.09
8.4.60.0030.00617.71
8.4.50.0100.01017.96
8.4.40.0100.01017.75
8.4.30.0060.01518.88
8.4.20.0100.00719.45
8.4.10.0080.00019.50
8.3.280.0120.00918.24
8.3.270.0050.01416.59
8.3.260.0120.00716.73
8.3.250.0100.00918.85
8.3.240.0110.00816.68
8.3.230.0140.00616.66
8.3.220.0130.00717.18
8.3.210.0100.00516.62
8.3.200.0120.00716.64
8.3.190.0110.00816.88
8.3.180.0110.00816.51
8.3.170.0120.00618.80
8.3.160.0160.00418.27
8.3.150.0060.01318.21
8.3.140.0000.00817.02
8.3.130.0050.00318.37
8.3.120.0040.01118.96
8.3.110.0070.00420.94
8.3.100.0070.00324.06
8.3.90.0070.00726.77
8.3.80.0030.00717.97
8.3.70.0160.00316.88
8.3.60.0090.00916.50
8.3.50.0140.00416.44
8.3.40.0070.00720.01
8.3.30.0080.00621.91
8.3.20.0000.00724.18
8.3.10.0040.00424.66
8.3.00.0060.00326.16
8.2.290.0120.00720.45
8.2.280.0090.00620.07
8.2.270.0140.00417.38
8.2.260.0080.00018.30
8.2.250.0120.00416.56
8.2.240.0080.00017.12
8.2.230.0040.00422.58
8.2.220.0030.00637.54
8.2.210.0040.00426.77
8.2.200.0080.00318.29
8.2.190.0110.00820.26
8.2.180.0190.00316.75
8.2.170.0040.01118.96
8.2.160.0130.00322.96
8.2.150.0080.00025.66
8.2.140.0050.00324.66
8.2.130.0030.00626.16
8.2.120.0000.01126.16
8.2.110.0060.00326.16
8.2.100.0090.00026.16
8.2.90.0090.00026.16
8.2.80.0060.00326.16
8.2.70.0040.00426.16
8.2.60.0060.00326.16
8.2.50.0060.00326.16
8.2.40.0060.00326.16
8.2.30.0030.00626.16
8.2.20.0080.00026.16
8.2.10.0040.00726.16
8.2.00.0030.00626.16
8.1.330.0100.00922.18
8.1.320.0090.01116.09
8.1.310.0000.00818.67
8.1.300.0100.00018.80
8.1.290.0070.00330.84
8.1.280.0070.01425.92
8.1.270.0050.00323.99
8.1.260.0030.00626.16
8.1.250.0030.00626.16
8.1.240.0090.00026.16
8.1.230.0030.00626.16
8.1.220.0030.00626.16
8.1.210.0090.00026.16
8.1.200.0090.00026.16
8.1.190.0060.00326.16
8.1.180.0090.00026.16
8.1.170.0060.00326.16
8.1.160.0090.00026.16
8.1.150.0090.00026.16
8.1.140.0030.00626.16
8.1.130.0060.00326.16
8.1.120.0000.00826.16
8.1.110.0040.00426.16
8.1.100.0050.00526.16
8.1.90.0090.00026.16
8.1.80.0040.00426.16
8.1.70.0030.00626.16
8.1.60.0090.00026.16
8.1.50.0090.00026.16
8.1.40.0030.00626.16
8.1.30.0060.00326.16
8.1.20.0040.00426.16
8.1.10.0090.00026.16
8.1.00.0060.00326.16
8.0.300.0030.00626.16
8.0.290.0080.00026.16
8.0.280.0030.00526.16
8.0.270.0060.00326.16
8.0.260.0030.00526.16
8.0.250.0060.00326.16
8.0.240.0040.00426.16
8.0.230.0080.00026.16
8.0.220.0040.00426.16
8.0.210.0040.00426.16
8.0.200.0030.00626.16
8.0.190.0060.00326.16
8.0.180.0090.00026.16
8.0.170.0050.00326.16
8.0.160.0080.00026.16
8.0.150.0000.00926.16
8.0.140.0040.00426.16
8.0.130.0040.00426.16
8.0.120.0080.00026.16
8.0.110.0040.00426.16
8.0.100.0090.00026.16
8.0.90.0080.00026.16
8.0.80.0030.00626.16
8.0.70.0090.00026.16
8.0.60.0090.00026.16
8.0.50.0040.00426.16
8.0.30.0050.00526.16
8.0.20.0060.00326.16
8.0.10.0090.00026.16

preferences:
35.3 ms | 403 KiB | 5 Q