Jak policzyć ile razy powtarzają się wszystkie elementy w tablicy lub wszystkiene w pliku


[PHP] Jak policzyć ile razy powtarzają się wszystkie elementy w tablicy lub wszystkie dane w pliku?

0x01 graphic

Chcesz policzyć ile razy powtarzają się wszystkie elementy tablicy, np. imiona - ile razy w tablicy występuje imię Ala, Janek, Michał itp. Podobnie w pliku - jeżeli dane zapisane są w osobnych linijkach, chcesz policzyć ile razy się powtarzają aby wykryć np. pojawiające się najczęściej.

0x01 graphic

Zliczanie ile razy pojawił się każdy z elementów pliku lub tablicy jest bardzo pomocne przy szacowaniu ilości wystąpień elementów. Gdy zapisujesz do pliku numery IP, z jakich łączą się użytkownicy, łatwo możesz policzyć, który numer pojawia się najczęściej.

Podobnie gdy zapisujesz np. wyszukiwane przez użytkowników wyrazy, możesz łatwo sprawdzić, jakie pytania wpisują najczęściej. Zastosowań takiego zliczania jest bardzo wiele. Zobacz jak w łatwy sposób poradzić sobie ze zliczaniem elementów w tablicy i w pliku.

<?

$tab[]="Ala";

$tab[]="Janek";

$tab[]="Michał";

$tab[]="Ala";

$tab[]="Janek";

$tab[]="Ala";

$tab[]="Ala";

$tab[]="Michał";

$tab[]="Janek";

foreach ($tab as $linia) {

$ile["$linia"]++;

}

while (list($indeks, $wartosc) = each ($ile)) {

echo "$indeks - $wartosc<br>";

}

?>

W wyniku uruchomienia skryptu otrzymasz następujący wnik:

Ala - 4
Janek - 3
Michał - 2

Aby policzyć ile razy pojawia się wybrany element tablicy należy skorzystać z dwóch pętli. Pierwsza foreach() odczytuje wszystkie elementy z tablicy $tab[] i tworzy nową tablicę asocjacyjną $ile[], której indeksem jest nazwa elementu z tablicy $tab[], a wartością jest licznik, zwiększany przy każdym wystąpieniu tego elementu.

Druga pętla while() pobiera dla każdego elementu tablicy asocjacyjnej $ile[] jej indeks i wartość, czyli nazwę i licznik wystąpień tej wartości. W pętli wypisywane są na ekran wartości i indeksy.

Jeżeli chcesz przetwarzać zawartość pliku, zamiast inicjować tablicę, stwórz ją bezpośrednio z pliku:

<?

$tab=file("dopoliczenia.txt");

foreach ($tab as $linia) {

$ile["$linia"]++;

}

while (list($indeks, $wartosc) = each ($ile)) {

echo "$indeks - $wartosc<br>";

}

?>

Można oczywiście odwrócić wartość i indeks miejscami, aby pierwsza pojawiała się ilość wystąpień elementu. Ułatwi do np. sortowanie wyników w edytorze lub w dalszej części skryptu PHP.



Wyszukiwarka

Podobne podstrony:
Jak policzyć ile plików (wszystkich lub określonego typu) znajduje się w wybranym katalogu
Jak policzyć ile zostało lub minęło lat, dni, godzin, minut i sekund względem określonej?ty
Ile razy znajdowałeś się w sytuacji bez wyjścia
Jak zrobić uniwersalne porcjowanie wyników na stronie, aby nie pokazywała się cała zawartość tablicy
Kombinatoryka, Kombinatoryka - dział matematyki zajmujący się wszystkimi możliwymi, różnorodnymi gru
13. ELEMENTY POWTARZAJĄCE SIĘ W PROCESIE WYCHOWANIA, Przygotowanie Pedagogiczne, Teoria Wychowania
jak obliczyć ile się przeżyło
Bommie Baumann Jak to się wszystko zaczęło Wspomnienia partyzanta miejskiego 3 rozdziały PL
Policz ile jesiennych zbiorów znajduje się w pętelce i narysuj tyle kresek
Jak to sie wszystko ladnie zazebia Cezary Zbikowski « Stop Syjonizmowi
Ile emerytury należy się za czas studiów
Jak przeżyć maturę i nie nabawić się wrzodów
Jak w twoim środowisku domowym kształtują się prawidłowe postawy zdrowotne
Laboratorium Instalacji I Oświetlenia, Pomiary natężenia oświetlenia i luminancji v2, Celem ćwiczeni
Inne religie, RELIGIE WSCHODU, RELIGIE WSCHODU: stały się ważnym elementem składowym ruchu New Age,
Jak powiedzieć szefowi ,że jest się w ciąży
Policz ile jest trójkątów, matematyka w kształceniu zintegrowanym
Jak często i ile wody zmieniać, AKWARYSTYKA
17 KOŚCIÓŁ ZAJMUJE SIĘ WSZYSTKIM, CO DOTYCZY ŻYCIA CZŁOWIEKA

więcej podobnych podstron