Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Losowa Liczba
Forum PHP.pl > Forum > Przedszkole
Riper
hej, wydaje mi sie ze istanieje w php mechanizm generowania loswej liczby, moglby mi ktos takowy przytoczyc ?
cim
  1. <?php
  2. $liczba_losowa = rand();
  3. ?>


ten kod zwróci raczej dużą licze, jeżeli chcesz liczbe z jakiegoś zakresu to wywołujesz funkcje rand z 2 argumentami - pierwszy to dolny prób a drugi to górny prób przedziału...
Riper
Cytat(cim @ 2004-08-16 21:20:31)
  1. <?php
  2. $liczba_losowa = rand();
  3. ?>


ten kod zwróci raczej dużą licze, jeżeli chcesz liczbe z jakiegoś zakresu to wywołujesz funkcje rand z 2 argumentami - pierwszy to dolny prób a drugi to górny prób przedziału...

wielkie dzieki winksmiley.jpg
tes
heh moze sie przydam, tez sie ucze i akurat przerabialem ten temat smile.gif

  1. <?
  2.  
  3. $szukana=5;
  4.  
  5.  
  6. for ($i=0; $i<20; $i++) {
  7. $liczby[$i] = rand (0, 20);
  8. }
  9.  
  10. $ileznaleziono=0;
  11. for ($i=0; $i<20; $i++) {
  12. print &#092;"$liczby[$i] \";
  13. if ($liczby [$i] == $szukana) {
  14. $ileznaleziono++;
  15. }
  16. }
  17.  
  18. if ($ileznaleziono==0) {
  19. print (&#092;"<p>Liczba $szukana w tablicy nie odnaleziono.\");
  20. } else {
  21. print (&#092;"<p>Liczbe $szukana w tablicy odnaleziono $ileznaleziono razy.\");
  22. }
  23.  
  24.  
  25. ?>



losowa liczba od 0-20 wlacznie, wypisuje 20 losowo generowanych liczb i wypisuje ile razy w tablicy znalazla sie $szukana

odsylam tez do manuala:

Cytat
rand
(php 3, php 4 , php 5)

rand -- Wygeneruj liczbę losową
Opis
int rand ( void )

int rand ( int min, int max)


Jeśli wywołana bez opcjonalnych argumentów min i max, funkcja rand() zwraca liczbę pseudolosową z przedziału pomiędzy 0 a RAND_MAX. Jeśli potrzebujesz liczby losowej z przedziału np. od 5 do 15 (włącznie), użyj rand (5,15).

W starszych wersjach php trzeba było najpierw zainicjować generator liczb losowych za pomocą funkcji srand(). Począwszy od php 4.2.0 nie jest to już konieczne.

Notatka: W wersjach przed 3.0.7 argument max znaczył zakres. Aby otrzymać takie same wyniki w tychże wersjach, należy użyć rand (5, 11) aby otrzymać liczbę losową z przedziału od 5 do 15.



Pozdorwienia, mam nadzieje, ze pomoglem winksmiley.jpg

I mam jeszcze pytanie: czyli wychodzi na to ze nie trzeba juz inicjowac (?) srand(time()) ?
silent
  1. <?php
  2.  
  3. for ($i=0; $i<20; $i++) {
  4. print &#092;"$liczby[$i] \"; // tutaj znaki \" \" są zbędne a spowalniają działanie interpretera php
  5. }
  6.  
  7. // To samo można zrobić tak:
  8.  
  9. foreach ($liczby as $wartosc) {
  10. print $wartosc;
  11. }
  12.  
  13. ?>

Cytat
I mam jeszcze pytanie: czyli wychodzi na to ze nie trzeba juz inicjowac (?) srand(time()) ?

Nie trzeba, chyba że chcesz wygenerować konkretny ciąg liczb pseudolosowych, podajesz srand(liczba).
tes
dzieki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.