-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathBitArray.php
More file actions
44 lines (34 loc) · 910 Bytes
/
BitArray.php
File metadata and controls
44 lines (34 loc) · 910 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
/**
* BitArray example
*
* @package BitArray
*
* @author Christophe Demko <[email protected]>
* @copyright Copyright (C) 2012-2024 Christophe Demko. All rights reserved.
*
* @license BSD 3-Clause License
*
* This file is part of the php-bitarray package https://github.com/chdemko/php-bitarray
*/
require __DIR__ . '/../vendor/autoload.php';
use chdemko\BitArray\BitArray;
// Print 10010
$bits = BitArray::fromString('10010');
echo $bits . PHP_EOL;
// Print 01101
$bits->applyComplement();
echo $bits . PHP_EOL;
// Print 11100
$bits->applyXor(BitArray::fromTraversable(array(true, false, false, false, true)));
echo $bits . PHP_EOL;
// Print 11101
$bits[4] = true;
echo $bits . PHP_EOL;
// Print 0:1;1:1;2:1;3:;4:1;
foreach ($bits as $index => $value) {
echo $index . ':' . $value . ';';
}
echo PHP_EOL;
// Print [true,true,true,false,true]
echo json_encode($bits) . PHP_EOL;