Skip to content

igoreus/bloomfilter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP Bloom Filter

A Bloom filter is a space-efficient probabilistic data structure, conceived by Burton Howard Bloom in 1970, that is used to test whether an element is a member of a set (False positive matches are possible, but false negatives are not).

<?php

use \Igoreus\BloomFilter\Persist\Redis;
use \Igoreus\BloomFilter\BloomFilter;

$setToStore = [
    'Test string 1',
    'Test string 2',
    'Test string 3',
    'Test string 4',
    'Test string 5',
];

$filter = BloomFilter::createFromApproximateSize(
    Redis::create(),
    count($setToStore),
    0.001
);

foreach ($setToStore as $string) {
    $filter->add($string);
}

if ($filter->has('Test string 1')) {
    echo 'Possibly in set"' . PHP_EOL;
} else {
    echo 'Definitely not in set' . PHP_EOL;
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages