Jump to content


Tibério Brasil

Member Since 17/04/2007
Offline Last Active 17/04/2007, 13:36
-----

Posts I've Made

In Topic: Gerar Um Id Aleatória

17/04/2007, 13:34

Desenvolvi uma classe que pode retornar 3 tipos de strings aleatórias:
  • Minúscula
  • Maiúscula
  • Aleatória (minúsculas e maiúsculas)
Outros fatores importantes são:
  • O tamanho da string de retorno é definido por você
  • Você poderá adicionar caracteres especiais à sua string
<?    class stringAleatoria {    // cria a classe que retornará um conjunto aleatório de strings            var $arr = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9');        // neste array deverão ficar todas as variáveis possíveis        // neste exemplo só possui strings alfanumérias (a-z e 0-9)        // você também poderá colocar caracteres especiais ( ! @ # $ % & * )        //        // para acessá-la dentro da classe: "$this->arr"        var $ret;        // variável de retorno da string desejada        var $tmp;        // variável que guardará à cada volta do laço o caractere em questão                function criaMinuscula($tam) {        // função que retorna a string minúscula (a-z)            for($i=1;$i<=$tam;$i++){            // este laço percorre de 1 até o número desejado de caracteres                $tmp = $this->arr[rand(0,count($this->arr)-1)];                // cria uma variável temporária com o caractere de retorno                if(is_string($tmp)){                // se for uma string (a-z)                    $ret .= strtolower($tmp);                    // retorna as strings em minúsculo                } else {                // se não for string, adiciona ela à variável final                    $ret = $ret.$tmp;                }            }            return $ret;            // retorna a varíavel que contém o conjunto de caracteres minúsculos de tamanho $tam        }        function criaMaiuscula($tam) {        // função que retorna a string maiúscula (A-Z)            for($i=1;$i<=$tam;$i++){            // este laço percorre de 1 até o número desejado de caracteres                $tmp = $this->arr[rand(0,count($this->arr)-1)];                // cria uma variável temporária com o caractere de retorno                if(is_string($tmp)){                // se for uma string (a-z)                    $ret .= strtoupper($tmp);                    // retorna as strings em maiúsculo                } else {                // se não for string, adiciona ela à variável final                    $ret = $ret.$tmp;                }            }            return $ret;            // retorna a varíavel que contém o conjunto de caracteres maiúsculos de tamanho $tam        }        function criaAleatoria($tam) {        // função que retorna a string aleatória (a-z e A-Z)            for($i=1;$i<=$tam;$i++){            // este laço percorre de 1 até o número desejado de caracteres                $tmp = $this->arr[rand(0,count($this->arr)-1)];                // cria uma variável temporária com o caractere de retorno                if(is_string($tmp)){                // se for uma string (a-z)                    $x = rand(0,1);                    // variavél aleatória 0 ou 1                    if($x == 0){                    // se a variável for 0 o caractere será minúsculo                        $ret .= strtolower($tmp);                        // retorna as strings em minúsculo                    } else {                    // se a variável for diferente de 0 o caractere será maiúsculo                        $ret .= strtoupper($tmp);                        // retorna as strings em maiúsculo                    }                } else {                // se não for string, adiciona ela à variável final                    $ret = $ret.$tmp;                }            }            return $ret;            // retorna a varíavel que contém o conjunto de caracteres aleatórios de tamanho $tam        }    }    $var = new stringAleatoria();    // instanciando a classe stringAleatoria    $min = $var->criaMinuscula(20);    // retorno da string minúscula de 20 caracteres    $mai = $var->criaMaiuscula(20);    // retorno da string maiúscula de 20 caracteres    $ale = $var->criaAleatoria(20);    // retorno da string aleatória de 20 caracteres    echo '<pre> » Minúscula: '.$min.'<br> » Maiúscula: '.$mai.'<br> » Aleatória: '.$ale.'</pre>';    // imprime os resultados?>


Qualquer dúvida é só postar.
Abraços.

IPB Skin By Virteq