3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '{ "users": [{ "user_id": 2, "ref_id": 1, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": [{ "user_id": 58, "ref_id": 2, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 59, "ref_id": 2, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 111, "ref_id": 2, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 116, "ref_id": 2, "package": [{ "name": "Diamond" }, { "direct": 1000 }, { "indirect": 500 } ], "children": 0 }, { "user_id": 119, "ref_id": 2, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 } ] }, { "user_id": 100, "ref_id": 1, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": [{ "user_id": 101, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 102, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 103, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 104, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 105, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 106, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 107, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 108, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 109, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 110, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 }, { "user_id": 117, "ref_id": 100, "package": [{ "name": "Diamond" }, { "direct": 1000 }, { "indirect": 500 } ], "children": 0 }, { "user_id": 129, "ref_id": 100, "package": [{ "name": "Diamond" }, { "direct": 1000 }, { "indirect": 500 } ], "children": 0 }, { "user_id": 130, "ref_id": 100, "package": [{ "name": "Basic" }, { "direct": 200 }, { "indirect": 100 } ], "children": 0 } ] } ] }'; $result['sum_direct'] = 0; $result['sum_indirect'] = 0; $parents_indirect = 0; $array = json_decode($json, true)['users']; foreach ($array as $users) { $result['sum_direct'] += $users['package'][1]['direct']; $parents_indirect += $users['package'][2]['indirect']; } array_walk_recursive($array, function ($v, $k) use (&$result) { if ($k === 'indirect') { $result['sum_indirect'] += $v; } }); $result['sum_indirect'] -= $parents_indirect; echo json_encode($result);

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.4.120.0110.01023.84
8.4.110.0080.01219.00
8.4.100.0130.00718.73
8.4.90.0120.00920.49
8.4.80.0060.00318.68
8.4.70.0100.00917.89
8.4.60.0090.01318.78
8.4.50.0060.00418.75
8.4.40.0130.00319.46
8.4.30.0100.01017.48
8.4.20.0100.01020.59
8.4.10.0100.01019.49
8.3.250.0150.00318.84
8.3.240.0130.00417.35
8.3.230.0130.00916.84
8.3.220.0110.01018.96
8.3.210.0130.00516.94
8.3.200.0060.00316.63
8.3.190.0110.00818.43
8.3.180.0120.00916.66
8.3.170.0030.01616.68
8.3.160.0040.00416.51
8.3.150.0100.01017.29
8.3.140.0040.00416.77
8.3.130.0060.00318.40
8.3.120.0080.01118.87
8.3.110.0060.00320.94
8.3.100.0060.00316.65
8.3.90.0060.00326.77
8.3.80.0090.00019.36
8.3.70.0070.01116.88
8.3.60.0150.00318.68
8.3.50.0090.01118.33
8.3.40.0070.00719.01
8.3.30.0110.00418.60
8.3.20.0060.00319.24
8.3.10.0080.00023.61
8.3.00.0080.00020.99
8.2.290.0060.00320.78
8.2.280.0040.00418.48
8.2.270.0120.00316.88
8.2.260.0080.00019.02
8.2.250.0080.00018.52
8.2.240.0090.00017.18
8.2.230.0030.00622.58
8.2.220.0040.01224.06
8.2.210.0000.01426.77
8.2.200.0060.00318.88
8.2.190.0070.01416.58
8.2.180.0140.00416.63
8.2.170.0040.01122.96
8.2.160.0090.00622.02
8.2.150.0060.00324.18
8.2.140.0040.00424.66
8.2.130.0090.00919.73
8.2.120.0050.00326.35
8.2.110.0040.00421.91
8.2.100.0110.00018.22
8.2.90.0040.00417.89
8.2.80.0040.00417.97
8.2.70.0000.00818.18
8.2.60.0050.00318.22
8.2.50.0040.00418.10
8.2.40.0000.00720.47
8.2.30.0040.00418.16
8.2.20.0050.00218.18
8.2.10.0030.00618.25
8.2.00.0000.00818.43
8.1.330.0080.00522.07
8.1.320.0130.00617.93
8.1.310.0090.00618.45
8.1.300.0030.00616.20
8.1.290.0030.00630.84
8.1.280.0190.00325.92
8.1.270.0030.01322.31
8.1.260.0050.00326.35
8.1.250.0050.00228.09
8.1.240.0040.00420.68
8.1.230.0110.00021.10
8.1.220.0040.00417.91
8.1.210.0000.00818.84
8.1.200.0060.00317.38
8.1.190.0000.01117.25
8.1.180.0060.00318.10
8.1.170.0070.00318.63
8.1.160.0080.00018.82
8.1.150.0080.00018.96
8.1.140.0070.00022.10
8.1.130.0030.00620.21
8.1.120.0070.00017.45
8.1.110.0040.00417.49
8.1.100.0040.00417.50
8.1.90.0050.00317.54
8.1.80.0080.00017.50
8.1.70.0000.00717.41
8.1.60.0040.00417.54
8.1.50.0000.00917.59
8.1.40.0080.00017.51
8.1.30.0090.00317.77
8.1.20.0030.00617.77
8.1.10.0000.00817.70
8.1.00.0050.00317.60
8.0.300.0070.00021.57
8.0.290.0060.00616.59
8.0.280.0070.00018.40
8.0.270.0040.00417.33
8.0.260.0000.00718.61
8.0.250.0030.00916.95
8.0.240.0000.00717.05
8.0.230.0030.00316.91
8.0.220.0000.00716.86
8.0.210.0040.00416.88
8.0.200.0030.00317.07
8.0.190.0040.00417.07
8.0.180.0040.00416.99
8.0.170.0000.00816.95
8.0.160.0030.00517.00
8.0.150.0030.00516.94
8.0.140.0040.00416.94
8.0.130.0030.00313.33
8.0.120.0060.00316.92
8.0.110.0000.00816.78
8.0.100.0050.00216.80
8.0.90.0040.00416.80
8.0.80.0080.00816.98
8.0.70.0040.00416.83
8.0.60.0000.00816.99
8.0.50.0040.00416.88
8.0.30.0180.00617.32
8.0.20.0120.00817.40
8.0.10.0040.00417.13
8.0.00.0130.00416.70
7.4.330.0000.00615.55
7.4.320.0060.00016.50
7.4.300.0060.00016.71
7.4.290.0000.00816.49
7.4.280.0040.00416.58
7.4.270.0040.00416.69
7.4.260.0000.00716.56
7.4.250.0040.00416.55
7.4.240.0040.00416.58
7.4.230.0000.00716.73
7.4.220.0040.00416.57
7.4.210.0070.01016.65
7.4.200.0040.00416.70
7.4.160.0100.00916.65
7.4.140.0080.01217.86
7.4.130.0070.01116.56
7.4.120.0120.00916.55
7.4.110.0120.00916.72
7.4.100.0140.00316.47
7.4.90.0070.01116.65
7.4.80.0130.00419.39
7.4.70.0060.01516.67
7.4.60.0090.00616.57
7.4.50.0060.00616.46
7.4.40.0130.00316.46
7.4.00.0030.01214.98
7.3.330.0050.00013.41
7.3.320.0060.00013.31
7.3.310.0000.00716.44
7.3.300.0030.00316.50
7.3.290.0000.00716.46
7.3.280.0100.00616.46
7.3.260.0110.01016.62
7.3.240.0100.00916.59
7.3.230.0070.01016.73
7.3.210.0080.00816.44
7.3.200.0190.00316.61
7.3.190.0120.00416.71
7.3.180.0060.01216.66
7.3.170.0140.00916.61
7.3.160.0090.00916.52
7.2.330.0120.00616.82
7.2.320.0060.01116.57
7.2.310.0120.00616.57
7.2.300.0100.01016.63
7.2.290.0100.00716.61
7.2.120.0860.01314.80
7.2.110.1040.01014.67
7.2.100.1080.00614.86
7.2.90.0690.01214.69
7.2.80.0700.00014.71
7.2.70.0670.00914.97
7.2.60.0760.01615.07
7.2.50.0750.00615.28
7.2.40.0760.01014.88
7.2.30.0910.00714.87
7.2.20.0810.00914.98
7.2.10.0480.01014.82
7.2.00.0650.00314.81
7.1.240.1730.00713.86
7.1.230.0650.01113.89
7.1.220.0720.00714.05
7.1.210.0670.01014.13
7.1.200.1760.00713.86
7.1.190.0610.00314.09
7.1.180.0890.00613.85
7.1.170.0680.00914.08
7.1.160.1150.00313.93
7.1.150.0720.00313.95
7.1.140.0970.00313.98
7.1.130.0490.01313.95
7.1.120.0190.01114.03
7.1.110.1810.00313.82
7.1.100.0830.01014.05
7.1.90.0510.00713.98
7.1.80.0320.00814.14
7.1.70.0300.00313.91
7.1.60.0730.00713.92
7.1.50.0870.00714.07
7.1.40.1000.00913.69
7.1.30.0520.00613.70
7.1.20.0730.00313.88
7.1.10.1490.00713.97
7.1.00.1010.00713.85
5.6.380.0100.00714.36

preferences:
30.75 ms | 403 KiB | 5 Q