![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Czy znajduje sie gdzies juz moze odpowiedz na pytanie:
W jaki sposob wylosowac z zamknietego zbioru kilka elementow tak aby zaden sie nie powtarzal? Czy ktos zna odpowiedz nielopatologiczna? Chodzi mi o to aby nie robic petli tak dlugo losujacej, az wezmie rozne rekordy. Rozwiazanie moze byc sql'owe poniewaz rekordy pobierane beda z bazy. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 30.01.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kod pochodzi z manualowych komentarzy do funkcji rand
[php:1:77059632e4]<?php // set some globals $s = array(); $n = 5; // the range you require (this will give 1-12) function set_num() { global $s, $n; $add = "yes"; $ran = rand(1, $n); if(count($s) > 0) { foreach($s as $sh) { if($ran == $sh) { $add = "no"; } } } if($add == "yes") { $s[] = $ran; } else { set_num(); } } // call the function as needed while(count($s) < $n) { set_num(); } // just output a list seperated by whitespace foreach($s as $sh) { echo $sh." "; } ?>[/php:1:77059632e4] -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
ekhm. a nie wystarczy samo array_rand()?
Jako drugi parametr można podać ilość elementów do wylosowania. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 30.01.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
:oops: jakis stary manual chyba mam...
dzieki wielkie |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 02:21 |