$bitset = new SplFixedArray(16); // Create a bitset with 16 bits
// Initialize all bits to 0
for ($i = 0; $i < $bitset->getSize(); $i++) {
$bitset[$i] = 0;
}
// Set a bit
$bitset[3] = 1;
// Check a bit
if ($bitset[3] == 1) {
echo "Bit 3 is set.\n";
} else {
echo "Bit 3 is not set.\n";
}
$reversedFixedArray = ConvertSplFixedArrayToTegularArray($bitset);
// Print the reversed SplFixedArray
foreach ($reversedFixedArray as $value) {
echo $value . " ";
}
// Convert SplFixedArray to a regular array
function ConvertSplFixedArrayToTegularArray($fixedArray) {
$array = $fixedArray->toArray();
// Reverse the array
$reversedArray = array_reverse($array);
// Convert back to SplFixedArray
$reversedFixedArray = SplFixedArray::fromArray($reversedArray);
return $reversedFixedArray;
}
/*
run:
Bit 3 is set.
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
*/