3v4l.org

run code in 300+ PHP versions simultaneously
<?php $availablePieces = []; $bitfield = hex2bin(preg_replace('(\s)', '', 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffe0')); $bytes = unpack('N*', $bitfield); foreach ($bytes as $index => $byte) { $i = $index - 1; // since pack is 1-indexed $availablePieces[($i * 8) + 0] = ($byte & 0b10000000) !== 0; $availablePieces[($i * 8) + 1] = ($byte & 0b01000000) !== 0; $availablePieces[($i * 8) + 2] = ($byte & 0b00100000) !== 0; $availablePieces[($i * 8) + 3] = ($byte & 0b00010000) !== 0; $availablePieces[($i * 8) + 4] = ($byte & 0b00001000) !== 0; $availablePieces[($i * 8) + 5] = ($byte & 0b00000100) !== 0; $availablePieces[($i * 8) + 6] = ($byte & 0b00000010) !== 0; $availablePieces[($i * 8) + 7] = ($byte & 0b00000001) !== 0; } var_dump($availablePieces);

preferences:
26.46 ms | 402 KiB | 5 Q