3v4l.org

run code in 300+ PHP versions simultaneously
<?php function routedispatch_preg($path, $patterns) { foreach ($patterns as $pattern) { if (preg_match($pattern[0], $path)) { return $pattern[1](); } } } function foo() { var_dump('foo dispatched.'); } function bar() { var_dump('bar dispatched.'); } $path = '/news/123'; $patterns = [ 'news' => ['#^/news/?$#', 'foo'], 'newsid' => ['#^/news/(\d+)$#', 'bar'] ]; routedispatch_preg($path, $patterns);

preferences:
50.99 ms | 402 KiB | 5 Q