sonypradana/convertcode

关于该软件包的最新版本(v0.9.0)没有可用的许可信息。

简单的生成器,可以从数字生成唯一ID,并将其转换回数字/ID。

v0.9.0 2020-12-03 16:01 UTC

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