Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Losowanie z tablicy
webtronic
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 27.02.2004

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


Witam

Mam taki skrypcik
  1. <?
  2. $tablica = file('teksty.txt');
  3. $wylosowany = array_rand($tablica, 1);
  4. echo $wylosowany;
  5. ?>


Chciałbym żeby ten skrypcik wczytał dane z pliku txt do tablicy, a potem wylosował jeden tekst (w pliku txt każdy tekst w osobnej linijce) i go wyświetlił. W tej chwili wyświetla mi tylko liczby od 0 do 4, w pliku jest piec tekstów, wiec podejrzewam ze losuje ale nie wyświetla go tylko numer wylosowanego elementu tablicy.
Proszę podpowiedzcie co robię źle.

Ten post edytował webtronic 2.05.2010, 00:45:27
Go to the top of the page
+Quote Post
smietek
post
Post #2





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

Ostrzeżenie: (20%)
X----


Ja bym zrobił to tak:
  1. $tablica = file('teksty.txt');
  2. $wylosowany = mt_rand(0, (count($tablica)-1));
  3. echo $tablica[$wylosowany];


--------------------
Go to the top of the page
+Quote Post
Fifi209
post
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(webtronic @ 2.05.2010, 01:22:04 ) *
Witam

Mam taki skrypcik
  1. <?
  2. $tablica = file('teksty.txt');
  3. $wylosowany = array_rand($tablica, 1);
  4. echo $wylosowany;
  5. ?>


Chciałbym żeby ten skrypcik wczytał dane z pliku txt do tablicy, a potem wylosował jeden tekst (w pliku txt każdy tekst w osobnej linijce) i go wyświetlił. W tej chwili wyświetla mi tylko liczby od 0 do 4, w pliku jest piec tekstów, wiec podejrzewam ze losuje ale nie wyświetla go tylko numer wylosowanego elementu tablicy.
Proszę podpowiedzcie co robię źle.


jak coś:
  1. echo $tablica[$wylosowany];


Losuje od 0 do 4, dlaczego? A właśnie, w manualu jest napisane:
Cytat
If you are picking only one entry, array_rand() returns the key for a random entry. Otherwise, it returns an array of keys for the random entries. This is done so that you can pick random keys as well as values out of the array.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
piotrooo89
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




@smietek w jakim celu używasz mt_rand, skoro php dostarcza możliwość losowania w tablicach zupełnie inna funkcją (array_rand)?


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 09:15