3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = 'My nAmE ïs Tom.'; // case-sensitive matching, including partial matching $array = ['foo', 'nAmE']; $regex[] = '/' . implode('|', array_map(fn($v) => preg_quote($v, '/'), $array)) . '/'; // case-insensitive matching, including partial matching $array = ['foo', 'om']; $regex[] = '/' . implode('|', array_map(fn($v) => preg_quote($v, '/'), $array)) . '/i'; // case-insensitive matching, full word matching only $array = ['foo', 'tom']; $regex[] = '/\b(?:' . implode('|', array_map(fn($v) => preg_quote($v, '/'), $array)) . ')\b/i'; // case-insensitive matching, full word matching only, multibyte aware $array = ['foo', 'ïs']; $regex[] = '/\b(?:' . implode('|', array_map(fn($v) => preg_quote($v, '/'), $array)) . ')\b/iu'; foreach ($regex as $r) { if (preg_match($r, $string, $m)) { echo "found '$m[0]' using $r on $string\n"; } else { echo "no match using $r on $string\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.3.80.0030.00616.88
8.3.70.0130.01317.13
8.3.60.0120.00317.00
8.3.50.0070.01420.39
8.3.40.0140.00022.07
8.3.30.0080.00819.10
8.3.20.0000.00924.18
8.3.10.0080.00024.66
8.3.00.0000.00826.16
8.2.200.0080.00018.41
8.2.190.0070.01016.88
8.2.180.0120.00425.92
8.2.170.0070.00719.21
8.2.160.0100.00322.96
8.2.150.0040.00425.66
8.2.140.0000.00824.66
8.2.130.0040.00426.16
8.2.120.0030.00526.16
8.2.110.0030.00720.96
8.2.100.0100.00318.16
8.2.90.0080.00018.00
8.2.80.0090.00319.01
8.2.70.0140.00248.60
8.2.60.0100.00448.74
8.2.50.0090.00448.70
8.2.40.0100.00348.84
8.2.30.0050.00748.86
8.2.20.0080.00449.40
8.2.10.0090.00448.79
8.2.00.0100.00249.38
8.1.290.0090.00030.84
8.1.280.0080.01125.92
8.1.270.0030.00620.69
8.1.260.0070.00026.35
8.1.250.0040.00428.09
8.1.240.0110.00023.57
8.1.230.0070.00421.08
8.1.220.0000.00817.79
8.1.210.0040.00418.77
8.1.200.0100.00248.52
8.1.190.0080.00448.35
8.1.180.0110.00248.71
8.1.170.0100.00349.01
8.1.160.0070.00550.07
8.1.150.0020.00949.06
8.1.140.0050.00848.46
8.1.130.0070.00550.05
8.1.120.0090.00448.50
8.1.110.0090.00748.42
8.1.100.0090.00848.47
8.1.90.0180.00048.47
8.1.80.0110.00448.46
8.1.70.0120.00348.46
8.1.60.0090.00548.51
8.1.50.0090.00748.41
8.1.40.0140.00348.49
8.1.30.0130.00548.50
8.1.20.0080.00948.52
8.1.10.0160.00348.53
8.1.00.0150.00448.51
8.0.300.0030.00518.77
8.0.290.0060.00548.16
8.0.280.0100.00148.94
8.0.270.0040.00948.16
8.0.260.0060.00648.87
8.0.250.0060.00648.28
8.0.240.0130.00348.24
8.0.230.0140.00248.21
8.0.220.0070.00948.23
8.0.210.0140.00448.23
8.0.200.0060.01048.28
8.0.190.0110.00548.19
8.0.180.0090.00748.24
8.0.170.0080.00948.26
8.0.160.0080.00748.23
8.0.150.0080.00948.15
8.0.140.0080.00748.20
8.0.130.0090.00748.15
8.0.120.0120.00348.18
8.0.110.0110.00448.14
8.0.100.0130.00248.13
8.0.90.0110.00448.25
8.0.80.0130.00348.27
8.0.70.0090.00748.24
8.0.60.0130.00348.26
8.0.50.0110.00448.19
8.0.30.0100.00648.24
8.0.20.0120.00548.21
8.0.10.0150.00248.23
7.4.330.0100.00047.44
7.4.320.0050.01048.12
7.4.300.0110.00348.06
7.4.290.0130.00248.01
7.4.280.0100.00548.09
7.4.270.0090.00848.14
7.4.260.0110.00548.10
7.4.250.0100.00748.06
7.4.240.0110.00548.11
7.4.230.0140.00348.03
7.4.220.0080.00848.07
7.4.210.0120.00448.02
7.4.200.0110.00448.06
7.4.190.0110.00448.07
7.4.180.0120.00348.09
7.4.160.0130.00248.04
7.4.150.0110.00448.06
7.4.140.0080.00748.01
7.4.130.0130.00148.08
7.4.120.0100.00447.97
7.4.110.0080.00748.03
7.4.100.0100.00648.05
7.4.90.0110.00447.95
7.4.80.0070.00748.05
7.4.70.0120.00347.97
7.4.60.0140.00048.04
7.4.50.0100.00547.98
7.4.40.0140.00247.98
7.4.30.0040.00947.95
7.4.20.0090.00247.90
7.4.10.0110.00348.01
7.4.00.0080.00547.97

preferences:
30.21 ms | 401 KiB | 5 Q