A PHP implementation of Double Array Trie.
$ composer require overtrue/double-array-trie -vvv
use Overtrue\DoubleArrayTrie\Builder;
$builder = new Builder();
$trie = $builder->build(['foo', 'bar', 'baz']);
$trie->export()->toFile('trie.json');
$trie->export()->toFile('trie.php');
$trie->export()->toFile('trie.dat');
use Overtrue\DoubleArrayTrie\Builder;
$builder = new Builder();
$trie = $builder->build([
'一举' => 'yi ju',
'一举一动' => 'yi ju yi dong',
]);
use Overtrue\DoubleArrayTrie\Factory;
$trie = Factory::loadFromFile('trie.json');
$trie = Factory::loadFromFile('trie.php');
$trie = Factory::loadFromFile('trie.dat');
use Overtrue\DoubleArrayTrie\Matcher;
$trie = Factory::loadFromFile('trie.json');
$matcher = new Matcher($trie);
match a string no values:
// ['foo', 'bar', 'baz']
$matcher->match('foo'); // true
$matcher->match('oo'); // false
match a string with values:
// ['一举' => 'yi ju', '一举一动' => 'yi ju yi dong']
$matcher->match('一举'); // 'yi ju'
$matcher->match('一举一'); // false
// ['一举' => 'yi ju', '一举一动' => 'yi ju yi dong', '一举成名' => 'yi ju cheng ming',]
$matcher->prefixMatch('一举一动都很奇怪');
// [
// '一举' => 'yi ju',
// '一举一动' => 'yi ju yi dong'
//]
- darts-java: Double-ARray Trie System Java implementation.
- DoubleArrayTrie: A PHP implementation of Double Array Trie.
- 双数组Trie树(DoubleArrayTrie)Java实现
如果你喜欢我的项目并想支持它,点击这里 ❤️
Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.
You can contribute in one of three ways:
- File bug reports using the issue tracker.
- Answer questions or fix bugs on the issue tracker.
- Contribute new features or update the wiki.
The code contribution process is not very formal. You just need to make sure that you follow the PSR-0, PSR-1, and PSR-2 coding guidelines. Any new code contributions must be accompanied by unit tests where applicable.
MIT