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);
Output for 7.0.0 - 7.0.25, 7.1.0 - 7.1.33, 7.2.6 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
string(15) "bar dispatched."
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 string(15) "bar dispatched."

preferences:
200.92 ms | 402 KiB | 210 Q