3v4l.org

run code in 500+ PHP versions simultaneously
<?php $a = [null]; echo 'null, valid cast: ' . array_product($a) . "\n\n"; $a = [false]; echo 'false, valid cast: ' . array_product($a) . "\n\n"; $a = [true]; echo 'true, valid cast: ' . array_product($a) . "\n\n"; $a = ['']; echo 'empty string, invalid cast: ' . array_product($a) . "\n\n"; $a = ['42.5']; echo 'string of a float, valid cast: ' . array_product($a) . "\n\n"; $a = ['42,5']; echo 'string of comma-separated float, valid cast but not desirable (discards trailing chars): ' . array_product($a) . "\n\n"; $a = ['42a']; echo 'string of int with trailing alpha char, valid cast but not desirable (discards trailing chars): ' . array_product($a) . "\n\n"; $a = ['a42']; echo 'string of int with leading alpha char, invalid cast: ' . array_product($a) . "\n\n"; $a = [[]]; echo 'array, invalid cast: ' . array_product($a) . "\n\n"; $a = [new stdClass()]; echo 'class that does not auto-cast, invalid cast: ' . array_product($a) . "\n\n"; $a = [gmp_init(42)]; echo 'gmp, valid cast: ' . array_product($a) . "\n\n";

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.30.0090.00818.12
8.5.20.0100.00819.96
8.5.10.0040.00517.04
8.5.00.0130.00922.99
8.4.180.0070.01519.89
8.4.170.0120.00923.80
8.4.160.0170.00523.19
8.4.150.0070.00716.93
8.4.140.0330.00817.64
8.4.130.0360.00817.71
8.4.120.0380.01117.82
8.4.110.0420.00917.97
8.4.100.0390.01017.69
8.4.90.0370.00918.02
8.4.80.0340.01117.75
8.4.70.0320.01218.05
8.4.60.0360.01017.98
8.4.50.0390.00817.67
8.4.40.0390.00917.56
8.4.30.0350.01218.04
8.4.20.0400.00917.58
8.4.10.0420.00717.45
8.3.300.0090.01121.00
8.3.290.0110.00820.82
8.3.280.0070.00416.30
8.3.270.0320.01016.83
8.3.260.0320.01116.48
8.3.250.0360.00816.41
8.3.240.0370.00616.69
8.3.230.0340.00916.88
8.3.220.0350.00916.55
8.3.210.0350.00816.64
8.3.200.0370.00916.67
8.3.190.0330.01016.75
8.3.180.0400.00616.65
8.3.170.0390.00816.66
8.3.160.0380.00916.40
8.3.150.0360.00916.50
8.3.140.0380.00916.72
8.3.130.0310.01216.36
8.3.120.0340.00916.70
8.3.110.0320.01016.37
8.3.100.0400.01016.38
8.3.90.0410.01418.20
8.3.80.0360.01016.55
8.3.70.0350.01016.61
8.3.60.0380.00816.90
8.3.50.0380.00816.39
8.3.40.0390.00817.38
8.3.30.0300.00917.49
8.3.20.0290.00817.29
8.3.10.0290.00817.84
8.3.00.0160.00619.06
8.2.300.0140.00820.52
8.2.290.0280.00716.88
8.2.280.0300.00616.88
8.2.270.0300.00916.94
8.2.260.0300.00916.48
8.2.250.0280.01116.59
8.2.240.0300.00916.46
8.2.230.0310.00716.48
8.2.220.0280.00916.24
8.2.210.0350.00616.40
8.2.200.0250.01316.58
8.2.190.0380.00616.51
8.2.180.0290.01016.71
8.2.170.0320.01217.46
8.2.160.0330.00717.56
8.2.150.0330.00717.66
8.2.140.0360.00917.25
8.2.130.0350.00617.54
8.2.120.0320.00717.31
8.2.110.0370.00517.13
8.2.100.0280.01217.73
8.2.90.0300.00917.63
8.2.80.0280.00917.50
8.2.70.0280.01317.38
8.2.60.0300.00917.25
8.2.50.0320.00617.57
8.2.40.0300.00817.15
8.2.30.0240.01317.22
8.2.20.0300.01117.34
8.2.10.0310.00817.32
8.2.00.0280.01017.55
8.1.340.0110.00917.69

preferences:
46.24 ms | 902 KiB | 5 Q