Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
ola pessoal não entendo muito sobre php estou tentando juntar 2 script em php mas não tenho a minima ideia por onde começar se alguem puder me dar uma luz eu agradeço, vamos tenho esse script abaixo onde ele me gera todas as hash de 1 a 3000
<?php
// array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ..., 3000)
foreach (range(1, 3000) as $number) {
echo hash('sha512', $number).'<br>';
} fim do script
eu preciso fazer com que ele junte com esse segundo script aqui abaixo
$seed = "HASH SERA INSERIDA AQUI-123456-1";
do {
$seed = sha1($seed);
$lucky = hexdec(substr($seed,0,8));
} while ($lucky > 4294960000);
$luckyNumber = ($lucky % 10000) / 100;
if ($luckyNumber < 0)
$luckyNumber = -$luckyNumber;
echo $luckyNumber ;
FIM DO SCRIPT
se voce copiar esse segundo script e rodar no servidor vai me gerar esse resultado 18.65
eu preciso fazer com que ele gere todas as 3000 hash com o resultado na frente de cada hash exemplo abaixo
c3fc4fd56f773728a0421980c587dce13ea89992c5005f245e971a9a78966f590611c1eb0c89e3de9515ee917297c980fa4544f2b211f9e4a9d9f88b48ca5e62 3.48
e0e725f004f61cdae9017eb715a22d2bf60e9db2da81ced94da8c49b01c802600cfebfb5b5d04430824918b5f70a773f980b42192ec0e054bd655d7d084a6a69 15.68
desde ja agradeço a ajuda e atenção de todosamigo muito obrigada pela dica, vou estudar os codigos aqui e ver se consigo vou tentar fazer a segunda opção que voce me passou, utilizar um formulário HTML e $_GET["nome do campo no formulário"]
mais uma vez muito obrigada tenha uma otima semana>
Em 08/08/2017 at 10:30, karina pereira refacho disse:
amigo muito obrigada pela dica, vou estudar os codigos aqui e ver se consigo vou tentar fazer a segunda opção que voce me passou, utilizar um formulário HTML e $_GET["nome do campo no formulário"]
mais uma vez muito obrigada tenha uma otima semana
amigo se voce puder me dar uma luz não consegui fazer estou meio perdida pois não entendo nada sobre php desde ja muito obrigada pela atenção tenha uma otima semana>
15 minutos atrás, karina pereira refacho disse:
amigo se voce puder me dar uma luz não consegui fazer estou meio perdida pois não entendo nada sobre php desde ja muito obrigada pela atenção tenha uma otima semana
em vez de gerar 3000 hash poderia ser menor exemplo 100 hash so que queria facilitar o resultado par não ficar adicionado uma por uma por exemplo o script deveria mostrar as 100 hash com o resultado luckyNumber na frente exemplo abaixo de hash + resultado no final
4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a = 13.7
ola acho que estou chegando lá consegui fazer com que ele gere a hash com o resultado so que ele so esta gerando uma hash com um resultado na parte foreach (range(1, 100) as $number) esta setado para gerar 100 hash com 100 resultados o que sera que fiz de errado ?
<?php
// array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ..., 3000)
foreach (range(1, 100) as $number) {
$variavel = hash('sha512', $number).'-12345-1';
}
do {
$variavel = sha1($variavel);
$lucky = hexdec(substr($variavel,0,8));
} while ($lucky > 4294960000);
$luckyNumber = ($lucky % 10000) / 100;
if ($luckyNumber < 0)
$luckyNumber = -$luckyNumber;
echo hash('sha512', $number).' = ';
echo $luckyNumber .'<br>';
no script acima se testar no [http://phptester.net/](http://phptester.net/) so me gera uma hash + o resultado no final igual abaixo
643c30f73a3017050b287794fc8c5bb9ab06b9ce38a1fc58df402a8b66ff58f69bf0a606ae17585352a0306f0e9752de8c5c064aed7003f52808b43ff992a603 = 35.46
nesse caso preciso que gere 100 hash com 100 resultados no final
se possivel me de uma luz por favor obrigada pela atenção>
1 hora atrás, karina pereira refacho disse:
ola acho que estou chegando lá consegui fazer com que ele gere a hash com o resultado so que ele so esta gerando uma hash com um resultado na parte foreach (range(1, 100) as $number) esta setado para gerar 100 hash com 100 resultados o que sera que fiz de errado ?
<?php
// array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ..., 3000)
foreach (range(1, 100) as $number) {
$variavel = hash('sha512', $number).'-12345-1';
}
do {
$variavel = sha1($variavel);
$lucky = hexdec(substr($variavel,0,8));
} while ($lucky > 4294960000);
$luckyNumber = ($lucky % 10000) / 100;
if ($luckyNumber < 0)
$luckyNumber = -$luckyNumber;
echo hash('sha512', $number).' = ';
echo $luckyNumber .'<br>';
no script acima se testar no [http://phptester.net/](http://phptester.net/) so me gera uma hash + o resultado no final igual abaixo
643c30f73a3017050b287794fc8c5bb9ab06b9ce38a1fc58df402a8b66ff58f69bf0a606ae17585352a0306f0e9752de8c5c064aed7003f52808b43ff992a603 = 35.46
nesse caso preciso que gere 100 hash com 100 resultados no final
se possivel me de uma luz por favor obrigada pela atenção
so lembrando que foi mencionado para fazer em número aleatório o problema são as repetiçoes acredito que não ira gerar as hash de 1 a 100 corretamente e sem repetirBoa tarde! Desculpa a demora a responder, fiquei sem conexão por conta de um poste que caiu aqui perto de casa.
Enfim, vamos la.
Se você quer gerar 100 resultados diferentes, poderia resolver facilmente alterando um pouco o seu código atual. Para tanto, bastaria mover parte do seu código e inseri-lo totalmente dentro do seu laço de repetição foreach(), que já é responsável por realizar um mesmo script N vezes, dessa forma:
<?php
// array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ..., 3000)
$n=1;
foreach (range(1, 100) as $number) {
$variavel = hash('sha512', $number).'-12345-1';
do {
$variavel = sha1($variavel);
$lucky = hexdec(substr($variavel,0,8));
} while ($lucky > 4294960000);
$luckyNumber = ($lucky % 10000) / 100;
if ($luckyNumber < 0)
$luckyNumber = -$luckyNumber;
echo "Resultado $n<br />\r\n".hash('sha512', $number).' = ';
echo $luckyNumber .'<hr>';
$n++;
}
**OBS:** A variável **$n** eu coloquei simplesmente pra facilitar sua visualização e pra que você possa perceber com mais facilidade que ele, de fato, gerou os 100 resultados, bem como o trecho **"Resultado $n<br />\r\n".** do código também é simplesmente para uma melhor visualização. Todos esses trechos de código devem ser removidos quando você for utilizá-lo para seu objetivo final, depois que aprender como fazer.E no caso de gerar um hash aleatório sem repetir nenhum deles nem mesmo uma única vez seria um pouco mais complicado... você teria de armazenar cada resultado num array e depois verificar a existência dele. Caso exista, remove faria com que seu laço de repetição fosse executado uma vez mais além do esperado.
Recomendo que você aprenda primeiro a fazer da forma como está agora, simplesmente gerando números aleatórios de 1 a 100 pra só depois passar pra essa outra parte mais complexa, um pouco (mas também não é um bicho de 7 cabeças).
posso dizer que voce e o cara muito obrigada vou estudar o codigo para aprender mais tenha uma otima semana e exatamenta o que necessitava
ola gostaria de agradecer a ajuda de todos sucesso
Primeiramente boa madrugada!
Gerar 3.000 linhas de resultado e exibir numa só página sem paginação seria exaustivo pro leitor, quem quer que ele seja, além de bastante desorganizado. Sem contar que geraria um "peso" grande na renderização da página e facilmente travaria o navegador num PC mais modesto.
Sabendo disso, você precisa entender como e o que são as variáveis, precisa aprender sobre a estruturação da linguagem. Vamos começar. Vou explicar linha por linha do seu código.
foreach(){} é um loop, um laço de repetição específico para trabalhar com arrays (sabe o que são arrays? se não, pergunte). for = para, each = cada. Leia o foreach assim: para cada($índice_do_meu_array como $string_que_armazenará_o_valor_do_índice_atual){processe este código}. Existem muitos laços de repetição, estude-os.