alexander4096/random-unico

生成指定范围和数量的唯一且不重复的随机数字或字母

dev-master 2019-10-22 02:13 UTC

This package is auto-updated.

Last update: 2024-09-22 13:20:28 UTC


README

(无重复的唯一数字)

系统有两种方法

numeros()

letras()

numeros() 方法允许生成指定数量的数字范围

语法

numeros(ini,fin,cantidad)

numeros 方法有3个参数

ini = numero inicial
fin = numero final 
cantidad = cantidad numero generados

系统有验证功能,会生成报告,因此不允许以下规则

ini = fin               : ini no debe ser igual a fin
ini > fin               : ini no debe ser mayo a fin
fin-ini < cantidad      : al diferencia entre fin - ini  menos ini no debe ser menor a cantidad 
cantidad < 1            : cantidad no debe ser menor a 1

示例 1

randomUnico::numeros(10,50,10)

生成10到50之间50个不重复的唯一数字

示例 2

randomUnico::numeros(3,9,4)

生成3到9之间4个不重复的唯一数字

letras() 方法用于生成不重复的随机大写字母

语法

letras(ini,fin,cantidad)

需要设置3个参数

ini = letra de inicio (primera letra) 
fin = letra de final  (ultima letra)
cantidad = cantidad de letras a generar

字母验证

> ini y fin               : no se permiten letras fuera del codigo de rango A - Z
> ini > ini               : ini no debe ser mayor a ini
> ini = fin               : ini no debe ser igual fin
> fin-ini < cantidad      : al diferencia entre fin - ini  menos ini no debe ser menor a cantidad 
> cantidad < 1            : cantidad no debe ser menor a 1

示例 1

randomUnico::letras('A','F',3);

生成A到F之间3个不重复的大写字母

示例 2

randomUnico::letras('O','Y',2);

生成O到Y之间2个不重复的大写字母

两个方法生成的输出都是JSON格式,包含两个键

  report: 
  numeros:

程序生成输出的示例

代码

echo randomUnico::numeros(10,50,10);

数字输出

{"report":"ok","numeros":[39,44,37,12,24,47,21,27,46,43]}

代码: echo randomUnico::letras('A','z',25);

字母输出

{"report":"ok","numeros":["D","O","I","R","F","P","N","T","S","C","Y","V","L","E","M","Q","H","X","J","A","K","U","G","W","B"]}

在子目录中创建一个测试文件,并放置此代码

<?php 
// se llama desde una subcarpeta 
require __DIR__.'/../vendor/autoload.php'; 

use randomUnico\randomUnico; 

echo "<br><br> Salida para Numeros: <br>";
echo randomUnico::numeros(10,50,10);

echo "<br><br> Salida para Letras: <br>";
echo randomUnico::letras('O','Y',3);

?>