3v4l.org

run code in 300+ PHP versions simultaneously
<?PHP $list = [ // an array list of string/regex that i want to check "lorem ipsum", // a words "example", // another word "/(nulla)/", // a valid regex "/[,.]/", // a valid regex "^dolor^", // a valid regex "/path/to/dir/", // not a valid regex "[integer]i", // valid regex not implementing a character class ]; $input_string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer quam ex, vestibulum sed laoreet auctor, iaculis eget velit. Donec mattis, /path/to/dir/ nulla ac suscipit maximus, leo metus vestibulum eros, nec finibus nisl dui ut est. Nam tristique varius mauris, a faucibus augue."; $result = []; foreach($list as $v) { if (@preg_match($v, '') === false) { // not a regex, make into one $v = '/' . preg_quote($v, '/') . '/'; } preg_match($v, $input_string, $m); $result[$v] = $m[0] ?? null; } var_export($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.140.0100.01118.07
8.4.130.0110.01118.88
8.4.120.0150.00619.77
8.4.110.0080.01220.57
8.4.100.0140.00718.05
8.4.90.0130.00720.66
8.4.80.0140.00619.01
8.4.70.0120.01019.20
8.4.60.0110.01019.03
8.4.50.0140.00918.63
8.4.40.0070.00724.46
8.4.30.0090.00618.89
8.4.20.0100.01019.96
8.4.10.0030.00624.04
8.3.270.0130.00716.93
8.3.260.0150.00416.96
8.3.250.0120.00816.85
8.3.240.0030.00616.76
8.3.230.0090.00517.12
8.3.220.0040.00318.71
8.3.210.0060.00218.79
8.3.200.0070.00216.74
8.3.190.0060.00317.20
8.3.180.0120.00818.81
8.3.170.0070.01118.62
8.3.160.0110.00718.78
8.3.150.0160.00317.24
8.3.140.0040.00417.17
8.3.130.0030.01317.02
8.3.120.0080.00020.63
8.3.110.0090.00620.94
8.3.100.0090.00024.06
8.3.90.0000.00826.77
8.3.80.0030.00617.00
8.3.70.0090.00617.25
8.3.60.0180.00416.59
8.3.50.0180.00320.46
8.3.40.0120.00619.94
8.3.30.0070.01119.00
8.3.20.0030.00624.18
8.3.10.0080.00024.66
8.3.00.0040.00426.16
8.2.290.0110.00916.89
8.2.280.0140.00618.80
8.2.270.0140.00418.67
8.2.260.0130.00616.83
8.2.250.0030.00617.07
8.2.240.0200.00018.96
8.2.230.0040.00722.58
8.2.220.0060.00337.54
8.2.210.0070.01326.77
8.2.200.0030.00618.66
8.2.190.0070.01017.13
8.2.180.0110.00425.92
8.2.170.0070.01119.03
8.2.160.0120.00622.96
8.2.150.0040.00425.66
8.2.140.0080.00024.66
8.2.130.0060.00326.16
8.2.120.0000.00821.13
8.2.110.0090.00022.18
8.2.100.0040.00817.84
8.2.90.0000.00918.00
8.2.80.0080.00019.08
8.2.70.0060.00317.88
8.2.60.0030.00518.05
8.2.50.0040.00418.07
8.2.40.0090.00018.34
8.2.30.0080.00018.22
8.2.20.0040.00420.65
8.2.10.0000.00818.11
8.2.00.0040.00419.42
8.1.330.0090.01016.27
8.1.320.0090.01016.64
8.1.310.0070.00716.53
8.1.300.0060.00319.75
8.1.290.0060.00330.84
8.1.280.0040.01125.92
8.1.270.0080.00024.66
8.1.260.0040.00426.35
8.1.250.0070.00728.09
8.1.240.0070.01120.52
8.1.230.0080.00417.95
8.1.220.0050.00317.77
8.1.210.0030.00618.77
8.1.200.0090.00017.60
8.1.190.0040.00417.48
8.1.180.0110.00418.10
8.1.170.0080.00018.50
8.1.160.0000.00719.05
8.1.150.0040.00418.78
8.1.140.0050.00517.68
8.1.130.0090.00917.73
8.1.120.0130.00417.66
8.1.110.0160.00317.58
8.1.100.0180.00017.55
8.1.90.0200.00017.69
8.1.80.0060.01117.73
8.1.70.0180.00017.67
8.1.60.0170.00417.80
8.1.50.0190.00317.75
8.1.40.0090.01217.71
8.1.30.0190.00517.82
8.1.20.0260.00017.71
8.1.10.0200.00317.79
8.1.00.0160.00417.70
8.0.300.0060.00318.84
8.0.290.0040.00416.88
8.0.280.0030.00620.27
8.0.270.0040.00418.23
8.0.260.0130.00317.33
8.0.250.0110.00417.33
8.0.240.0140.00317.33
8.0.230.0090.01017.33
8.0.220.0110.00517.33
8.0.210.0150.00017.33
8.0.200.0140.00317.33
8.0.190.0170.00017.33
8.0.180.0100.00717.33
8.0.170.0090.00617.33
8.0.160.0110.00617.33
8.0.150.0150.00217.33
8.0.140.0130.00417.33
8.0.130.0140.00317.33
8.0.120.0110.00717.33
8.0.110.0100.00717.33
8.0.100.0150.00017.33
8.0.90.0130.00317.33
8.0.80.0120.00217.33
8.0.70.0150.00317.33
8.0.60.0120.00417.33
8.0.50.0170.00017.33
8.0.30.0120.00617.33
8.0.20.0060.00917.33
8.0.10.0150.00317.33

preferences:
29.61 ms | 403 KiB | 5 Q