Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ilość Danych Liczb W Pliku., Po prostu zobacz opis.
w@riat
post 3.09.2004, 17:28:36
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 25.08.2004
Skąd: Białystok

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


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.
Go to the top of the page
+Quote Post
zYm3N
post 3.09.2004, 18:33:49
Post #2





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 29.08.2004
Skąd: POLAND

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


$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.
Go to the top of the page
+Quote Post
w@riat
post 3.09.2004, 21:25:19
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 25.08.2004
Skąd: Białystok

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


No niestety niewypał. Albo go nie potrafię zastosować albo po prostu nie chodzi na krasnalu.
Wywala błąd "Array" i na tym koniec.
Go to the top of the page
+Quote Post
FiDO
post 3.09.2004, 22:08:35
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


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. ?>


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Riklaunim
post 4.09.2004, 13:24:15
Post #5





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


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ść...


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
w@riat
post 4.09.2004, 22:51:57
Post #6





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 25.08.2004
Skąd: Białystok

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


Ok dziękuje Fido, Riklaunim
skrypt działa !
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 Wersja Lo-Fi Aktualny czas: 28.04.2024 - 10:43