Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt- losowe pobieranie treści, Jak zrobić żeby nie bylo powtorzen?
macio99
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 29.06.2007

Ostrzeżenie: (0%)
-----


Witam,

Mam oto taki skrypt:

  1. <? 
  2. $tresc[] = "jakas tresc a";
  3. $tresc[] = "jakas tresc b";
  4. $tresc[] = "jakas tresc c";
  5. $tresc[] = "jakas tresc d";
  6. $tresc[] = "jakas tresc e";
  7.  
  8. srand ((double) microtime() * 800);
  9. $randomtresc = rand(0,count($tresc)-1);
  10. $randomtresca = rand(0,count($tresc)-1);
  11. $randomtrescb = rand(0,count($tresc)-1);
  12.  
  13. echo "" . $tresc[$randomtresc] . "";
  14. echo " " . $tresc[$randomtresca] . "";
  15. echo " " . $tresc[$randomtrescb] . "";
  16.  
  17. ?>


i teraz moje pytanie: co nalezy dopisac i gdzie, zeby nie bylo takiej sytuacji, ze zostanie wylosowana za jednym razem ta sama tresc?
I dodatkowe pytanie: czy da sie w jakis prosty sposob przypisac "wage" do zmiennych losowanych? Tzn. chcialbym aby byla waga (np. od 1 do 5) i jak przy "tresci a" bedzie waga 5 a przy "tresci b" waga 1 to "tresc a" bedzie pobierana 5 razy czesciej?
Czy moglby ktos zmodyfikowac odpowiednio powyzszy skrypcik? Z gory bardzo dziekuje za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
flv
post
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $waga = '111112345';
  3. $tresc = array(1 => 'jakas tresc a', 2 => 'jakas tresc b', 3 => 'jakas tresc c', 4 => 'jakas tresc d', 5 => 'jakas tresc e');
  4.  
  5. $i=0;
  6. $arr = array();
  7. while($i<4)
  8. {
  9. $tmp = $tresc[$waga{rand(0,strlen($waga)-1)}];
  10.  if(!in_array($tmp, $arr))
  11. {
  12. $arr[] = $tmp;
  13. $i++;
  14. }
  15. }
  16.  
  17. foreach($arr as $value)
  18. {
  19. echo $value.'<br>';
  20. }
  21. ?>


Ten post edytował flv 2.07.2007, 17:48:55
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 21:38