3v4l.org

run code in 300+ PHP versions simultaneously
<?php function incorrect(int $flags) { // Would work in C and other languages if ($flags & LOCK_SH) { echo "LOCK_SH\n"; } elseif($flags & LOCK_EX) { echo "LOCK_EX\n"; } elseif($flags & LOCK_UN) { echo "LOCK_UN\n"; } } function correct(int $flags) { $mode = $flags & ~LOCK_NB; if ($mode === LOCK_SH) { echo "LOCK_SH\n"; } elseif($mode === LOCK_EX) { echo "LOCK_EX\n"; } elseif($mode === LOCK_UN) { echo "LOCK_UN\n"; } } incorrect(LOCK_UN); correct(LOCK_UN);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
LOCK_SH LOCK_UN

preferences:
169.7 ms | 402 KiB | 121 Q