3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = ['x', 'y', 'z']; $mask = 5; $count = count($arr); $mask &= pow(2, $count) - 1; $offset = $count - 1; $result = []; foreach ($arr as $k => $v) { var_dump($offset, $k); if (($mask >> ($offset - $k)) & 0x1) { $result[] = $v; } } var_dump($result);

preferences:
41.84 ms | 402 KiB | 5 Q