ezzaze/binary-search

一个用于在大型数组中快速查找值的PHP包

1.1.0 2022-12-15 11:57 UTC

This package is auto-updated.

Last update: 2024-09-13 20:49:13 UTC


README

Latest Version on Packagist Tests Total Downloads

一个小型的PHP包,可以帮助您在大规模数组中进行搜索,性能有显著提升。

安装

您可以通过composer安装此包

composer require ezzaze/binary-search

使用

use Ezzaze\BinarySearch\BinarySearch;

$haystack = range(1,1000000);
$result1 = BinarySearch::exists(500, $haystack); //true
$result2 = BinarySearch::exists(0, $haystack); //false

如果您已经有了预先排序的数组,您可以在搜索前跳过排序,只需将第三个参数设置为false即可

use Ezzaze\BinarySearch\BinarySearch;

$haystack = range(1,1000000);
$result = BinarySearch::exists(500, $haystack, false);

此包还可以用于在另一个数组中搜索多维数组,如下所示

use Ezzaze\BinarySearch\BinarySearch;

$haystack = array_chunk(range(1,1000000), 2);
$result1 = BinarySearch::exists([500,501], $haystack); //true
$result2 = BinarySearch::exists([501, 502], $haystack); //false

测试

composer test

变更日志

请参阅CHANGELOG了解最近的变化。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全漏洞

请参阅我们的安全策略了解如何报告安全漏洞。

鸣谢

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。