3v4l.org

run code in 300+ PHP versions simultaneously
<?php ini_set('pcre.backtrack_limit', 100); for ($len = 1000; $len <= 1001; $len++) { $x = str_repeat("x", $len); $ret = preg_match("/x+x+y/", $x); echo "len = " . $len . "\n"; echo "preg_match = " . $ret . "\n"; echo "PREG_BACKTRACK_LIMIT_ERROR = " . PREG_BACKTRACK_LIMIT_ERROR . "\n"; echo "preg_last_error = " . preg_last_error() . "\n"; echo "\n"; }
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.29, 8.2.0 - 8.2.21, 8.3.0 - 8.3.9
len = 1000 preg_match = 0 PREG_BACKTRACK_LIMIT_ERROR = 2 preg_last_error = 0 len = 1001 preg_match = 0 PREG_BACKTRACK_LIMIT_ERROR = 2 preg_last_error = 0
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34
len = 1000 preg_match = 0 PREG_BACKTRACK_LIMIT_ERROR = 2 preg_last_error = 0 len = 1001 preg_match = PREG_BACKTRACK_LIMIT_ERROR = 2 preg_last_error = 2
Output for 5.6.0 - 5.6.40
len = 1000 preg_match = PREG_BACKTRACK_LIMIT_ERROR = 2 preg_last_error = 2 len = 1001 preg_match = PREG_BACKTRACK_LIMIT_ERROR = 2 preg_last_error = 2

preferences:
230.89 ms | 402 KiB | 307 Q