Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ilość Danych Liczb W Pliku.
Forum PHP.pl > Forum > Gotowe rozwiązania
w@riat
Witam.
Mam pewien problem. Chcę zrobić skrypt do rankingu zdjęć ale....
Nie wiem jak napisać skrypt który będzie liczył ile jest danych liczb w pliku dane.txt

Przykład zawartości pliku dane.txt
  1. 3
  2. 4
  3. 7
  4. 8
  5. 3
  6. 4
  7. 6
  8. 9
  9. 10
  10. 4
  11. 5


I tak ,żeby przykładowo liczyło ile jest w tym pliku liczb "4"
Reszte sam napisze.
Z góry dzięki za pomoc.
zYm3N
$plik = file("plik.txt");

foreach($plik as $linijka)
if (isset($dane[$linijka])) $dane[$linijka]+=1;else $dane[$linijka]=1;

Tak z głowy.. nie sprawdzane na parserze.
w@riat
No niestety niewypał. Albo go nie potrafię zastosować albo po prostu nie chodzi na krasnalu.
Wywala błąd "Array" i na tym koniec.
FiDO
A jak probujesz wyswietlic wynik? Powinno byc $dane[$szukana_liczba]

Ew. alternatywny sposob:
  1. <?php
  2.  
  3. $liczby = array_map('trim', file($nazwa_pliku));
  4. $ilosc = array_count_values($liczby);
  5.  
  6. echo &#092;"Liczba 4 wystepuje \". $ilosc['4'] .\" razy\";
  7.  
  8. ?>
Riklaunim
Może to pomoże... fragment mojej klasy statystyk, to liczy liczbę wejść w poszczególnych dniach:

  1. <?php
  2. $wskaz = @fopen($dane, &#092;"r\");
  3.  while($wiersz = @fgets($wskaz, 1024))
  4. {
  5. list($ip, $dns, $ref, $age, $data) = explode(&#092;"|/|\", $wiersz);
  6. $dni[] = $data;
  7. }
  8.  fclose($wskaz);
  9.  $dni = array_unique($dni);
  10.  $wskaz2 = @fopen($dane, &#092;"r\");
  11.  while($wiersz = @fgets($wskaz2, 1024))
  12. {
  13. list($ip, $dns, $ref, $age, $data) = explode(&#092;"|/|\", $wiersz);
  14. foreach ($dni as $kiedy)
  15. {
  16. IF($data == $kiedy)
  17. {
  18. $$kiedy++;
  19. }
  20. }
  21. }
  22.  fclose($wskaz2);
  23. // wyniki
  24.  foreach ($dni as $kiedy)
  25. {
  26. echo &#092;"$kiedy - $$kiedy\";
  27. }
  28. ?>

Możesz zrobić podobnie - tablica z numerków, unique ją, a potem $$numere++; co np dla trójki zrobi zmienną $3 (dziwne ale działa) i dla trójek będzie zwiększało jej wartość...
w@riat
Ok dziękuje Fido, Riklaunim
skrypt działa !
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-2024 Invision Power Services, Inc.