BitArray for PHP.
This project manipulates compact array of bit values stored internally as strings.
The bit arrays may have variable length specified when an object is created using either:
- a specific size;
- a traversable collection;
- a string representation of bits;
- a json representation of bits;
- a slice from another bit array;
- a concatenation from two others bit arrays.
The project provides methods to get and set bits values using PHP natural syntax as well as the iterator facility offered by the PHP foreach
language construct.
It also provides methods for bitwise logical operations between two bit arrays and
, or
, xor
and the not
operation.
This project uses:
- PHP Code Sniffer for checking PHP code style
- PHPUnit for unit test (100% covered)
- Sphinx and Doxygen for the documentation
Using composer: either
$ composer create-project chdemko/bitarray:1.2.x-dev --dev; cd bitarray
or create a composer.json
file containing
{
"require": {
"chdemko/bitarray": "1.2.x-dev"
}
}
and run
$ composer install
Create a test.php
file containing
<?php
require __DIR__ . '/vendor/autoload.php';
use chdemko\BitArray\BitArray;
$bits = BitArray::fromTraversable([true,false,false,true]);
echo $bits . PHP_EOL;
This should print
1001
See the examples folder for more information.
Run
$ sudo apt install doxygen python3-pip python3-virtualenv
$ virtualenv venv
$ venv/bin/activate
(venv) $ pip install -r docs/requirements.txt
(venv) $ sphinx-build -b html docs/ html/
(venv) $ deactivate
$
if you want to create local documentation with Sphinx.
If you are using this project including publication in research activities, you have to cite it using (BibTeX format). You are also pleased to send me an email to chdemko@gmail.com.
- authors: Christophe Demko
- title: php-bitarray: a PHP library for handling bit arrays
- year: 2014
- how published: https://packagist.org/packages/chdemko/bitarray/