Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Losowanie z tablicy
Forum PHP.pl > Forum > Przedszkole
webtronic
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.
smietek
Ja bym zrobił to tak:
  1. $tablica = file('teksty.txt');
  2. $wylosowany = mt_rand(0, (count($tablica)-1));
  3. echo $tablica[$wylosowany];
Fifi209
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.
piotrooo89
@smietek w jakim celu używasz mt_rand, skoro php dostarcza możliwość losowania w tablicach zupełnie inna funkcją (array_rand)?
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.