<?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);
- Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 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
- array(160) {
[0]=>
bool(true)
[1]=>
bool(true)
[2]=>
bool(true)
[3]=>
bool(true)
[4]=>
bool(true)
[5]=>
bool(true)
[6]=>
bool(true)
[7]=>
bool(true)
[8]=>
bool(true)
[9]=>
bool(true)
[10]=>
bool(true)
[11]=>
bool(true)
[12]=>
bool(true)
[13]=>
bool(true)
[14]=>
bool(true)
[15]=>
bool(true)
[16]=>
bool(true)
[17]=>
bool(true)
[18]=>
bool(true)
[19]=>
bool(true)
[20]=>
bool(true)
[21]=>
bool(true)
[22]=>
bool(true)
[23]=>
bool(true)
[24]=>
bool(true)
[25]=>
bool(true)
[26]=>
bool(true)
[27]=>
bool(true)
[28]=>
bool(true)
[29]=>
bool(true)
[30]=>
bool(true)
[31]=>
bool(true)
[32]=>
bool(true)
[33]=>
bool(true)
[34]=>
bool(true)
[35]=>
bool(true)
[36]=>
bool(true)
[37]=>
bool(true)
[38]=>
bool(true)
[39]=>
bool(true)
[40]=>
bool(true)
[41]=>
bool(true)
[42]=>
bool(true)
[43]=>
bool(true)
[44]=>
bool(true)
[45]=>
bool(true)
[46]=>
bool(true)
[47]=>
bool(true)
[48]=>
bool(true)
[49]=>
bool(true)
[50]=>
bool(true)
[51]=>
bool(true)
[52]=>
bool(true)
[53]=>
bool(true)
[54]=>
bool(true)
[55]=>
bool(true)
[56]=>
bool(true)
[57]=>
bool(true)
[58]=>
bool(true)
[59]=>
bool(true)
[60]=>
bool(true)
[61]=>
bool(true)
[62]=>
bool(true)
[63]=>
bool(true)
[64]=>
bool(true)
[65]=>
bool(true)
[66]=>
bool(true)
[67]=>
bool(true)
[68]=>
bool(true)
[69]=>
bool(true)
[70]=>
bool(true)
[71]=>
bool(true)
[72]=>
bool(true)
[73]=>
bool(true)
[74]=>
bool(true)
[75]=>
bool(true)
[76]=>
bool(true)
[77]=>
bool(true)
[78]=>
bool(true)
[79]=>
bool(true)
[80]=>
bool(true)
[81]=>
bool(true)
[82]=>
bool(true)
[83]=>
bool(true)
[84]=>
bool(true)
[85]=>
bool(true)
[86]=>
bool(true)
[87]=>
bool(true)
[88]=>
bool(true)
[89]=>
bool(true)
[90]=>
bool(true)
[91]=>
bool(true)
[92]=>
bool(true)
[93]=>
bool(true)
[94]=>
bool(true)
[95]=>
bool(true)
[96]=>
bool(true)
[97]=>
bool(true)
[98]=>
bool(true)
[99]=>
bool(true)
[100]=>
bool(true)
[101]=>
bool(true)
[102]=>
bool(true)
[103]=>
bool(true)
[104]=>
bool(true)
[105]=>
bool(true)
[106]=>
bool(true)
[107]=>
bool(true)
[108]=>
bool(true)
[109]=>
bool(true)
[110]=>
bool(true)
[111]=>
bool(true)
[112]=>
bool(true)
[113]=>
bool(true)
[114]=>
bool(true)
[115]=>
bool(true)
[116]=>
bool(true)
[117]=>
bool(true)
[118]=>
bool(true)
[119]=>
bool(true)
[120]=>
bool(true)
[121]=>
bool(true)
[122]=>
bool(true)
[123]=>
bool(true)
[124]=>
bool(true)
[125]=>
bool(true)
[126]=>
bool(true)
[127]=>
bool(true)
[128]=>
bool(true)
[129]=>
bool(true)
[130]=>
bool(true)
[131]=>
bool(true)
[132]=>
bool(true)
[133]=>
bool(true)
[134]=>
bool(true)
[135]=>
bool(true)
[136]=>
bool(true)
[137]=>
bool(true)
[138]=>
bool(true)
[139]=>
bool(true)
[140]=>
bool(true)
[141]=>
bool(true)
[142]=>
bool(true)
[143]=>
bool(true)
[144]=>
bool(true)
[145]=>
bool(true)
[146]=>
bool(true)
[147]=>
bool(true)
[148]=>
bool(true)
[149]=>
bool(true)
[150]=>
bool(true)
[151]=>
bool(true)
[152]=>
bool(true)
[153]=>
bool(true)
[154]=>
bool(true)
[155]=>
bool(false)
[156]=>
bool(false)
[157]=>
bool(false)
[158]=>
bool(false)
[159]=>
bool(false)
}
- 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
array(160) {
[0]=>
bool(true)
[1]=>
bool(true)
[2]=>
bool(true)
[3]=>
bool(true)
[4]=>
bool(true)
[5]=>
bool(true)
[6]=>
bool(true)
[7]=>
bool(true)
[8]=>
bool(true)
[9]=>
bool(true)
[10]=>
bool(true)
[11]=>
bool(true)
[12]=>
bool(true)
[13]=>
bool(true)
[14]=>
bool(true)
[15]=>
bool(true)
[16]=>
bool(true)
[17]=>
bool(true)
[18]=>
bool(true)
[19]=>
bool(true)
[20]=>
bool(true)
[21]=>
bool(true)
[22]=>
bool(true)
[23]=>
bool(true)
[24]=>
bool(true)
[25]=>
bool(true)
[26]=>
bool(true)
[27]=>
bool(true)
[28]=>
bool(true)
[29]=>
bool(true)
[30]=>
bool(true)
[31]=>
bool(true)
[32]=>
bool(true)
[33]=>
bool(true)
[34]=>
bool(true)
[35]=>
bool(true)
[36]=>
bool(true)
[37]=>
bool(true)
[38]=>
bool(true)
[39]=>
bool(true)
[40]=>
bool(true)
[41]=>
bool(true)
[42]=>
bool(true)
[43]=>
bool(true)
[44]=>
bool(true)
[45]=>
bool(true)
[46]=>
bool(true)
[47]=>
bool(true)
[48]=>
bool(true)
[49]=>
bool(true)
[50]=>
bool(true)
[51]=>
bool(true)
[52]=>
bool(true)
[53]=>
bool(true)
[54]=>
bool(true)
[55]=>
bool(true)
[56]=>
bool(true)
[57]=>
bool(true)
[58]=>
bool(true)
[59]=>
bool(true)
[60]=>
bool(true)
[61]=>
bool(true)
[62]=>
bool(true)
[63]=>
bool(true)
[64]=>
bool(true)
[65]=>
bool(true)
[66]=>
bool(true)
[67]=>
bool(true)
[68]=>
bool(true)
[69]=>
bool(true)
[70]=>
bool(true)
[71]=>
bool(true)
[72]=>
bool(true)
[73]=>
bool(true)
[74]=>
bool(true)
[75]=>
bool(true)
[76]=>
bool(true)
[77]=>
bool(true)
[78]=>
bool(true)
[79]=>
bool(true)
[80]=>
bool(true)
[81]=>
bool(true)
[82]=>
bool(true)
[83]=>
bool(true)
[84]=>
bool(true)
[85]=>
bool(true)
[86]=>
bool(true)
[87]=>
bool(true)
[88]=>
bool(true)
[89]=>
bool(true)
[90]=>
bool(true)
[91]=>
bool(true)
[92]=>
bool(true)
[93]=>
bool(true)
[94]=>
bool(true)
[95]=>
bool(true)
[96]=>
bool(true)
[97]=>
bool(true)
[98]=>
bool(true)
[99]=>
bool(true)
[100]=>
bool(true)
[101]=>
bool(true)
[102]=>
bool(true)
[103]=>
bool(true)
[104]=>
bool(true)
[105]=>
bool(true)
[106]=>
bool(true)
[107]=>
bool(true)
[108]=>
bool(true)
[109]=>
bool(true)
[110]=>
bool(true)
[111]=>
bool(true)
[112]=>
bool(true)
[113]=>
bool(true)
[114]=>
bool(true)
[115]=>
bool(true)
[116]=>
bool(true)
[117]=>
bool(true)
[118]=>
bool(true)
[119]=>
bool(true)
[120]=>
bool(true)
[121]=>
bool(true)
[122]=>
bool(true)
[123]=>
bool(true)
[124]=>
bool(true)
[125]=>
bool(true)
[126]=>
bool(true)
[127]=>
bool(true)
[128]=>
bool(true)
[129]=>
bool(true)
[130]=>
bool(true)
[131]=>
bool(true)
[132]=>
bool(true)
[133]=>
bool(true)
[134]=>
bool(true)
[135]=>
bool(true)
[136]=>
bool(true)
[137]=>
bool(true)
[138]=>
bool(true)
[139]=>
bool(true)
[140]=>
bool(true)
[141]=>
bool(true)
[142]=>
bool(true)
[143]=>
bool(true)
[144]=>
bool(true)
[145]=>
bool(true)
[146]=>
bool(true)
[147]=>
bool(true)
[148]=>
bool(true)
[149]=>
bool(true)
[150]=>
bool(true)
[151]=>
bool(true)
[152]=>
bool(true)
[153]=>
bool(true)
[154]=>
bool(true)
[155]=>
bool(false)
[156]=>
bool(false)
[157]=>
bool(false)
[158]=>
bool(false)
[159]=>
bool(false)
}
preferences:
190.36 ms | 409 KiB | 176 Q