Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jaka pętla?
3miel
post
Post #1





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

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


Witam,

mam taką funkcję:

php:
  1. <? 
  2. function losuj($tresc, $nrjezyk){ 
  3. srand((float) microtime() * 10000000); 
  4. global $slowko; 
  5. global $losowa_liczba; 
  6. global $slowkonr; 
  7. $losowa_liczba = array_rand ($tresc, 1); 
  8. $losowa_liczba+1; 
  9. $slowko0 = explode("|", $tresc[$losowa_liczba]); 
  10. $slowko = $slowko0[$nrjezyk]; 
  11. $slowkonr = $slowko0[3]; 
  12. } 
  13.  
  14. losuj($tresc, $_GET['nrjezyk']); 
  15. ?>


i teraz jeżeli wylosuje liczbe ($slowkonr=='1') to chce zrobić, żeby na nowo losowało (powtarzała się funkcja losuj).

Jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
s_w_ir
post
Post #2





Grupa: Zarejestrowani
Postów: 315
Pomógł: 1
Dołączył: 6.08.2003
Skąd: Kielce

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


  1. <?php
  2. $tresc=array("1|lesson|lekcja|0",
  3. "2|topic|temat|0",
  4. "3|know|wiedzieć|0",
  5. "4|happy|szczęsliwy|0",
  6. "5|holiday|wakacje|0",
  7. "6|phone|telefon|0",
  8. "7|english|angielski|0");
  9.  
  10. function losuj($tresc, $nrjezyk){
  11. global $slowko;
  12. global $losowa_liczba;
  13. global $slowkonr;
  14. $losowa_liczba = array_rand ($tresc, 1);
  15. $slowko0 = explode("|", $tresc[$losowa_liczba]);
  16. $slowko = $slowko0[$nrjezyk];
  17. $slowkonr = $slowko0[3];
  18. $losowa_liczba++; //inkrementacja przenisioan na koniec żebybyły dostępne liczby od 1 do 7
  19. if($slowkonr == 1) losuj($tresc, $nrjezyk);
  20. }
  21. losuj($tresc, 2);
  22.  
  23. echo 'L. losowa:'.$losowa_liczba.'<br />
  24. Slowo nr: '.$slowkonr.'<br /><br />';
  25. echo $slowko; //wyświetlenie wyrazu
  26.  
  27. ?>


Nie da rady żeby wyświetliło inne liczby niż od 1 do 7. Podejżewam że chodzi o plik, pewnie masz tam dodatkowe puste wiersze. Dodaj do swojego skryptu wyświetlenie wyrazu i zobacz czy jak masz większą liczbe niz przewidziana to czy masz jakiś wyraz.

Potem spróbuj zmodyfikować pętle:
  1. <?
  2. $filename='lekcje/'.$katalog.'/'.$plik.'.txt';
  3. $file = file($filename); 
  4. for( $i=0 ; $i<count($file) ; $i++){
  5. if($file[$i] == "" OR $file[$i]==" ") continue; 
  6. $tresc[] = chop($file[$i]);
  7. }
  8. ?>
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: 3.10.2025 - 20:52