Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak wylosować tekst "witaj_swiecie" z tablicy ?
Forum PHP.pl > Forum > Przedszkole
slewin
Witam ,
chciał bym wylosować napis np. "witaj_swiecie" z tablicy . Jak to zrobić ?
napisalem cos takiego
  1. <?
  2. print ('<b>Czy napis zostal wylosowany</b>');
  3. print ('<br>');
  4.  
  5. $napis = 'witaj_swiecie'; //napis do wylosowania
  6. $dl_napis = strlen($napis);
  7. $znaki = array("_","a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","v","w","x","y","z");  //znaki do losowania
  8.  
  9.  
  10. // zaczynamy losowanie,
  11. for ($i=0;$i<$dl_napis;$i++){
  12. $losuj = array_rand ($znaki, $dl_napis ); // wylosuj
  13. print $znaki[$losuj[0]].",";// pokaz co wylosowało
  14. }
  15. ?>


no i tu się zaczyna mój problem , bo juz mi losuje znaki z tablicy ale jak zrobić by zostały wylosowane znaki które ma $napis questionmark.gif
Foxx
Nie kumam, chodzi Ci o to, żeby zostały wylosowane po kolei litery tworzące $napis? Ale co to za losowanie wtedy.
Czy chodzi Ci może o to, żeby losowane były tylko litery składające się na $napis? Jeśli o to, to ja bym stworzył tymczasową tablicę tylko ze znakami składającymi się na $napis i z niej losował.
bogdan89
ja też do końca nie rozumiem logiki Twoich oczekiwań...
ale zobacz sobie może funkcję str_split" title="Zobacz w manualu PHP" target="_manual

albo zostaw tablice w spokoju, bo masz funkcję: str_shuffle" title="Zobacz w manualu PHP" target="_manual
slewin
Cytat(Foxx @ 24.02.2009, 16:42:07 ) *
Czy chodzi Ci może o to, żeby losowane były tylko litery składające się na $napis?

Tak właśnie o to mi chodziło.
Mój cel był taki aby wylosowało mi $napis ze $znaki . Fakt mógł bym stworzyć tymczasową tablicę ze znakami $napis , ale chcę sobie utrudnić zadanie smile.gif .

Pomyślałem sobie o czymś takim : np. mam jakiś tekst krótki , długi ,bez znaczenia i chciał bym sprawdzić czy z tego tekstu da się ułożyć jakiś napis np. "witaj świecie" , więc napisałem coś takiego prostego by zobaczyć czy jest to w ogóle możliwe biggrin.gif .
Teraz siedzę ,główkuje i wertuje manuala smile.gif .

Bardzo przydatne funkcje str_split" title="Zobacz w manualu PHP" target="_manual , str_shuffle . Dzięki .
Quantum
Można to zrobić tak:

  1. <?
  2. print ('<b>Czy napis zostal wylosowany</b>');
  3. print ('<br>');
  4. $napis='witaj_swiecie'; //napis do wylosowania
  5. $dl_napis=strlen($napis);
  6. $tablica=str_split($napis);
  7. // zaczynamy losowanie,
  8. for ($i=0;$i<$dl_napis;$i++){
  9. $losuj=array_rand($tablica, $dl_napis ); // wylosuj
  10. print $tablica[$losuj[0]].",";// pokaz co wylosowało
  11. }
  12. ?>


Ale to rozwiązanie jest dużo prostsze, bez żadnych pętli i tablic.

  1. <?
  2. print ('<b>Czy napis zostal wylosowany</b>');
  3. print ('<br>');
  4. $napis='witaj_swiecie';
  5. $losuj=str_shuffle($napis);
  6. echo $losuj;
  7. ?>



@DOWN

Nie odświeżałem strony więc nie zauważyłem nowych odpowiedzi ;p
bogdan89
no ja padnę biggrin.gif

Temat: Dziecinne_pomaganie
http://forum.php.pl/index.php?s=&showt...st&p=573785

nie mogłem się powstrzymać biggrin.gif
slewin
Na każdą chwilę znajdzie się wiele głupich postów.
Nie jestem leniem ani nie uważam się za osobę głupią .
Po za tym dopiero od kilku miesięcy poznaję języki programowania i zdarza się że zadaje pytania które dla osób obeznanych z tematem wydają się być głupie .

Wybacz że straciłeś przez mój post swój czas .
Foxx
Slewin, nie denerwuj się. Bogdan89 odniósł się do posta sniffera32.
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.