3v4l.org

run code in 300+ PHP versions simultaneously
<?php function shouldFileBeHiddenA(string $file): bool { static $knownHiddenFiles = ['.access', '.', '.htaccess']; if(in_array($file, $knownHiddenFiles)) { return true; } if(str_ends_with($file, '.php')) { return true; } return false; } function shouldFileBeHiddenB(string $file): bool { static $knownHiddenFiles = ['.access', '.', '.htaccess']; static $knownHiddenExtensions = ['php']; if(in_array($file, $knownHiddenFiles)) { return true; } if(in_array(pathinfo($file, PATHINFO_EXTENSION), $knownHiddenExtensions)) { return true; } return false; } var_dump(shouldFileBeHiddenA('.htaccess')); var_dump(shouldFileBeHiddenA('test.php')); var_dump(shouldFileBeHiddenA('test.html')); var_dump(shouldFileBeHiddenB('.htaccess')); var_dump(shouldFileBeHiddenB('test.php')); var_dump(shouldFileBeHiddenB('test.html'));
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
bool(true) bool(true) bool(false) bool(true) bool(true) bool(false)
Output for 7.4.0 - 7.4.33
bool(true) Fatal error: Uncaught Error: Call to undefined function str_ends_with() in /in/HiJHe:10 Stack trace: #0 /in/HiJHe(33): shouldFileBeHiddenA('test.php') #1 {main} thrown in /in/HiJHe on line 10
Process exited with code 255.

preferences:
113.72 ms | 407 KiB | 5 Q