12/10/2023 00:56
(Esta mensagem foi modificada pela última vez a: 13/10/2023 12:08 por zHypezinXzL.)
Hoje venho trazer uma extensão para a função nativa random, que nos permite manusear com mais opções e não estou dizendo daquela função simples:
Não há nenhum problema ao usar a função acima, mas a que venho trazer nos permite manusear com mais operações e correções
Recomendo substituir as random nativas por essa randomex, pois a randomex tem suas correções, mas cuidado para não substituir as randons que estão dentro desta função.
Espero que tenham gostado deste "mini tutorial" sobre random e desta função que trago a vocês ;)
Código PHP:
randomex (
const val_min,
const val_max
) {
return ((val_min + random (val_min - val_max)) + 1);
}
Não há nenhum problema ao usar a função acima, mas a que venho trazer nos permite manusear com mais operações e correções
- Primeiro vamos entender como funciona a função random, está função não tem nenhuma operação difícil, mas possui seus problemas, um deles é o seu retorno meio estranho, vou lhe mostrar: random (3); ok até aqui normal mas agora vamos analisar os resultados (0, 1, 2), ué cadê o 3? Bem o 3 é a quantia totalizará de números que ele irá retornar como vocês podem ver ele retorna do 0 ao 2 totalizando 3 números. Outro problema é que ele não trabalha com números negativos, caso queira testar verá que ele irá retornar números positivos e meio descontrolados isso provavelmente deve ser um problema nos bits. Isso é tudo que precisamos saber sobre o random.
- Então vamos ao assunto principal, oque a randomex oferece? Ela nos oferece uma manipulação extra que pode fazer coisas que a random não faz como poder escolher a partida dos números há serem retornados N° a N° um exemplo: randomex (2, 5) a sequência que ele irá retornar será (2, 3, 4, 5) diferente da random que só retorna de 0 a N°. Outro oferecimento é a manipulação de números negativos vamos a um exemplo: randomex (0, -2); os valores que serão retornados serão (0, -1, -2). E os últimos oferecimentos é que não é necessário colocar os 2 parâmetros e não é necessário que o "val_min" seja menor que o "val_max" pois a função faz essas verificação e corrige esse problema. Exemplos do uso de somente 1 parâmetro: randomex (3); -> (0, 1, 2, 3) ou randomex (-3); -> (0, -1, -2, -3).
Código PHP:
// Author : zHypezinXzL
// My Github : https://github.com/zHypezinXzL/
randomex (
const val_min,
const val_max = 0
) {
if (val_max == val_min)
return val_min;
else
if (val_min >= 0 && val_max >= 0)
if (val_max >= val_min)
return val_min + random ((val_max - val_min) + 1);
else
return val_max + random ((val_min - val_max) + 1);
else if (val_min <= 0 && val_max <= 0)
if (-val_max >= -val_min)
return -(-val_min + random (-(val_max - val_min) + 1));
else
return -(-val_max + random (-(val_min - val_max) + 1));
else
if (val_max >= val_min)
return (val_min + random ((val_max - val_min) + 1));
else
return (val_max + random ((val_min - val_max) + 1));
}
Recomendo substituir as random nativas por essa randomex, pois a randomex tem suas correções, mas cuidado para não substituir as randons que estão dentro desta função.
Espero que tenham gostado deste "mini tutorial" sobre random e desta função que trago a vocês ;)