3v4l.org

run code in 300+ PHP versions simultaneously
<?php setlocale('UTF-8'); function gorramBasename($path) { $components = explode('/', $path); return array_pop($components); // ugly, but more multibyte-safe than basename() } $path = 'šašek.txt'; echo basename($path) . "\n"; echo gorramBasename($path) . "\n";
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
Fatal error: Uncaught ArgumentCountError: setlocale() expects at least 2 arguments, 1 given in /in/Xat3i:2 Stack trace: #0 /in/Xat3i(2): setlocale('UTF-8') #1 {main} thrown in /in/Xat3i on line 2
Process exited with code 255.
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.26, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Warning: setlocale() expects at least 2 parameters, 1 given in /in/Xat3i on line 2 ašek.txt šašek.txt
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Warning: Wrong parameter count for setlocale() in /in/Xat3i on line 2 ašek.txt šašek.txt
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9
Warning: Wrong parameter count for setlocale() in /in/Xat3i on line 2 šašek.txt šašek.txt

preferences:
207.66 ms | 402 KiB | 372 Q