3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function depbuild($name, $location, $suffix, $locale) { echo "*** $name - $location - $suffix - $locale\n\n"; $locales = $locale ? array($locale, null) : array(null); $extensions = array_filter(array( ($location && $suffix) ? implode('-', array($location, $suffix)) : null, $suffix ?: null, $location ?: null, )); $extensions[] = null; $routing = array(); foreach ($locales as $lang) { foreach ($extensions as $extension) { echo implode('-', array_filter(array( $name, $extension, $lang, ))) . '.html'.PHP_EOL; } } } $name = 'foo'; $location = array(null, 'GL', 'AS'); $suffix = array(null, 'P','C'); $locale = array(null, 'fr_FR'); foreach($location as $loc) { foreach($suffix as $s) { foreach($locale as $l) { depbuild($name, $loc, $s, $l); echo PHP_EOL.'--------'.PHP_EOL; } } }
Output for 5.3.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
*** foo - - - foo.html -------- *** foo - - - fr_FR foo-fr_FR.html foo.html -------- *** foo - - P - foo-P.html foo.html -------- *** foo - - P - fr_FR foo-P-fr_FR.html foo-fr_FR.html foo-P.html foo.html -------- *** foo - - C - foo-C.html foo.html -------- *** foo - - C - fr_FR foo-C-fr_FR.html foo-fr_FR.html foo-C.html foo.html -------- *** foo - GL - - foo-GL.html foo.html -------- *** foo - GL - - fr_FR foo-GL-fr_FR.html foo-fr_FR.html foo-GL.html foo.html -------- *** foo - GL - P - foo-GL-P.html foo-P.html foo-GL.html foo.html -------- *** foo - GL - P - fr_FR foo-GL-P-fr_FR.html foo-P-fr_FR.html foo-GL-fr_FR.html foo-fr_FR.html foo-GL-P.html foo-P.html foo-GL.html foo.html -------- *** foo - GL - C - foo-GL-C.html foo-C.html foo-GL.html foo.html -------- *** foo - GL - C - fr_FR foo-GL-C-fr_FR.html foo-C-fr_FR.html foo-GL-fr_FR.html foo-fr_FR.html foo-GL-C.html foo-C.html foo-GL.html foo.html -------- *** foo - AS - - foo-AS.html foo.html -------- *** foo - AS - - fr_FR foo-AS-fr_FR.html foo-fr_FR.html foo-AS.html foo.html -------- *** foo - AS - P - foo-AS-P.html foo-P.html foo-AS.html foo.html -------- *** foo - AS - P - fr_FR foo-AS-P-fr_FR.html foo-P-fr_FR.html foo-AS-fr_FR.html foo-fr_FR.html foo-AS-P.html foo-P.html foo-AS.html foo.html -------- *** foo - AS - C - foo-AS-C.html foo-C.html foo-AS.html foo.html -------- *** foo - AS - C - fr_FR foo-AS-C-fr_FR.html foo-C-fr_FR.html foo-AS-fr_FR.html foo-fr_FR.html foo-AS-C.html foo-C.html foo-AS.html foo.html --------
Output for 5.2.3 - 5.2.17
Parse error: syntax error, unexpected ':' in /in/TnvvK on line 8
Process exited with code 255.
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.2.2
<br /> <b>Parse error</b>: syntax error, unexpected ':' in <b>/in/TnvvK</b> on line <b>8</b><br />
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1, 5.0.0 - 5.0.5
<br /> <b>Parse error</b>: parse error, unexpected ':' in <b>/in/TnvvK</b> on line <b>8</b><br />
Process exited with code 255.
Output for 4.3.2 - 4.3.4
<br /> <b>Parse error</b>: parse error in <b>/in/TnvvK</b> on line <b>8</b><br />
Process exited with code 255.