eric-chau / bijective
简单的双射函数(基于n的编码/解码)用于PHP。
v1.0.0
2016-02-04 22:03 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- phpunit/phpunit: 4.8.*
This package is not auto-updated.
Last update: 2024-09-14 18:31:35 UTC
README
Bijective
可以将任何整数编码为基于n的字符串,其中n为字母表长度。如果您想创建自己的URL缩短器,这可能会非常有用。
<?php require_once __DIR__ . '/vendor/autoload.php'; $bijective = new \Jarvis\Math\Bijective(); echo $bijective->alphabet(); // print 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' echo $bijective->encode('64'); // print 'bc' echo $bijective->decode('ba'); // print '62' $bijective = new \Jarvis\Math\Bijective('azerty'); echo $bijective->alphabet(); // print 'azerty'
您需要了解的事项
Bijective
的默认字母表为abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
。您可以通过将其传递给构造函数来定义自己的字母表。- 如果您尝试解码不支持的字符,
Bijective
将抛出异常。 - 如果您尝试解码以零值(您定义的字母表中的第一个字符)开头的字符串,
Bijective
将抛出异常(例如,给定字母表 '!?:;',零值是 '!')。 Bijective
抛出的每个异常都是\LogicException
的实例。