sonypradana / convertcode
关于该软件包的最新版本(v0.9.0)没有可用的许可信息。
简单的生成器,可以从数字生成唯一ID,并将其转换回数字/ID。
v0.9.0
2020-12-03 16:01 UTC
Requires
- php: ^5.3.3 || ^7.0 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-13 11:37:55 UTC
README
简单的脚本,可以从数字生成唯一ID,支持最多至 11.694.146.092.834.141 位数字。支持将ID转换回字符串。
如果您需要从长数字(如时间戳、大整数或名称)生成较短的ID,我们建议使用此脚本。
基本转换是从字符串数组创建ID,然后逐个构建数组索引。您可以通过编辑数组条目来自定义。
默认情况下,数组使用 [0-9][a-z][A-Z],这意味着区分大小写。AA和aA之间有区别。
示例
-------------------------------------------------
| index | code | number |
----------------+---------------+----------------
| 94 | 0w | 94 |
| 95 | 0x | 95 |
| 96 | 0y | 96 |
| ... | ... | ... |
| 3842 | YY | 3842 |
| 3843 | YZ | 3843 |
| 3844 | Z0 | 3844 |
| ... | ... | ... |
| 238323 | ZYV | 238323 |
| 238324 | ZYW | 238324 |
| 238325 | ZYX | 238325 |
-------------------------------------------------
命令行界面支持
从1到100运行测试
php CLI test 1 100
将输出
------------------------------------------------- | index | code | number | ----------------+---------------+---------------- | 1 | 1 | 1 | | 2 | 2 | 2 | | 3 | 3 | 3 | | 4 | 4 | 4 | | 5 | 5 | 5 | ... | 95 | 0x | 95 | | 96 | 0y | 96 | | 97 | 0z | 97 | | 98 | 0A | 98 | | 99 | 0B | 99 | | 100 | 0C | 100 | -------------------------------------------------
其他命令
php CLI php CLI to-code [number] php CLI from-code [string_code]
安装
您可以直接从您的项目中导入此类。
include 'path_to_ConvertCode_file' . '/ConvertCode.php';
如果使用Composer
composer require sonypradana/convertcode;
用法
您可以使用声明类或直接方式生成ID。
使用类
创建类
use Convert\Converter\ConvertCode; $ccode = new ConvertCode();
从数字创建ID(字符串)
$ccode->setNumber( 999999 ); // creat id by 99 echo $ccode->getCode(); // will out put -> 4c81
从ID/代码/字符串创建ID
$ccode->setCode( '4c82' ); // creat id by code "4c82" echo $ccode->getNumber(); // will out put -> 1000000
您也可以使用运算符
// plus (+) operator $ccode->plusOperator(1); // plus 1 echo $ccode->getNumber(); // will out put -> 1000001 echo $ccode->getCode(); // will out put -> ac83 // minus (-) operator $ccode->minusOperator(2); // minus 2 echo $ccode->getNumber(); // will out put -> 999999 echo $ccode->getCode(); // will out put -> ac81
直接使用
您还可以直接调用函数
从 id/code/string 转换为 number
use ConvertCode\Converter\ConvertCode; $id_number = ConvertCode::ConvertFromCode( "0B" ); echo $id_number; // will out put 99
从 number 转换为 id/code/string
use ConvertCode\Converter\ConvertCode; $id_code = ConvertCode::ConvertFromNumber( 99 ); echo $id_code; // will out put "0B"
如果您想获取随机 id/code/string,可以使用
use ConvertCode\Converter\ConvertCode; $id_code = ConvertCode::RandomCode( 4 ); // how many digit code you want echo $id_code; // random code