3v4l.org

run code in 300+ PHP versions simultaneously
<?php function stringCheck_TypeSafe(string $string) { $pos = strpos($string, 'cat'); if ($pos === 0) { return true; } return false; } function stringCheck_NotTypeSafe($string) { $pos = strpos($string, 'cat'); if ($pos != 'true') { return true; } return false; } echo "type safe string check, return should be true:\n"; var_dump(stringCheck_TypeSafe('cat')); echo "not type safe string check, return should be true:\n"; var_dump(stringCheck_NotTypeSafe('cat')); echo "not type safe string check, return should be false:\n"; var_dump(stringCheck_NotTypeSafe('a'));
Output for 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
type safe string check, return should be true: bool(true) not type safe string check, return should be true: bool(true) not type safe string check, return should be false: bool(true)
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 type safe string check, return should be true: bool(true) not type safe string check, return should be true: bool(true) not type safe string check, return should be false: bool(true)
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
type safe string check, return should be true: bool(true) not type safe string check, return should be true: bool(false) not type safe string check, return should be false: bool(true)

preferences:
145.33 ms | 402 KiB | 150 Q