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)) { $result[] = $v; } } var_dump($result);

preferences:
31.03 ms | 402 KiB | 5 Q