Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Policz wyrazy kończące się na literę a.. Jak?
Forum PHP.pl > Forum > Przedszkole
trebanol
Musze napisać program w php, który liczy wyrazy zakończone na literę a. mógłby ktoś pomóc? p.s zależy mi na czasie;/
jajcarzd1
Może na początek coś takiego

  1.  
  2. $a= "aaaa bbbba ccccccc ddddd eeea";
  3. $b = str_word_count($a,1);
  4.  
  5. $quantity = 0;
  6.  
  7. foreach ($b as $item) {
  8. if($item[strlen($item)-1] == 'a') $quantity++;
  9. }
  10.  
  11. echo $quantity;
Wave
  1. echo preg_match_all('/a[\W\:punct:]/', 'ala ma kota ale ola nie', $m);
darko
  1. function licz($litera, $tekst, $rozrozniaj_duze_i_male = false)
  2. {
  3. $rozrozniaj_duze_i_male ? $tmp = $tekst : $tmp = strtolower($tekst);
  4. $txt = explode(" ", $tmp);
  5. $result = 0;
  6. foreach($txt as $t)
  7. preg_match("/" . $litera . "$/", $t) != 0 ? $result++ : '';
  8. return $result;
  9. }
  10.  
  11. echo licz("a", "AlA ma kota kot ma Alę");
jajcarzd1
Cytat(darko @ 18.06.2010, 15:05:05 ) *
  1. function licz($litera, $tekst, $rozrozniaj_duze_i_male = false)
  2. {
  3. $rozrozniaj_duze_i_male ? $tmp = $tekst : $tmp = strtolower($tekst);
  4. $txt = explode(" ", $tmp);
  5. $result = 0;
  6. foreach($txt as $t)
  7. preg_match("/" . $litera . "$/", $t) != 0 ? $result++ : '';
  8. return $result;
  9. }
  10.  
  11. echo licz("a", "AlA ma kota kot ma Alę");


Tylko że np. przy takim odpaleniu

  1. echo licz("a", "AlA ma kota kot ma Alę");


tablica $txt ma 30 elementów a co za tym idzie jest wykonywanych dużo nadmiarowych przebiegów pętli.
Wave
  1. echo preg_match_all('/a[\W\:punct:]/i', 'ala. ma kota ale olA nie', $m);
trebanol
Wielkie dzięki za pomoc jajcarzd1. Jakbyś (ty lub ktokolwiek inny) mógł jeszcze opisać pokolei linikami co sie dzieje mniej wiecej
jajcarzd1
Cytat(trebanol @ 19.06.2010, 13:02:49 ) *
Wielkie dzięki za pomoc jajcarzd1. Jakbyś (ty lub ktokolwiek inny) mógł jeszcze opisać pokolei linikami co sie dzieje mniej wiecej


Heh a Tobie nie za dobrze ? smile.gif Takich leni to tylko pałą po jajach smile.gif

  1.  
  2. $a= "aaaa bbbba ccccccc ddddd eeea"; //to ejst ciąg w którym są wyrazy
  3.  
  4. /*
  5.  ta funkcja zlicza słowa w podanym ciągu, podane są 2 parametry wejściowe pierwszy to ciąg
  6. a drugi to "1" która oznacza że funkcja zwraca tablice ze wszystkimi słowami, sprawdź dokładnie w manualu
  7. */
  8. $b = str_word_count($a,1);
  9.  
  10. $quantity = 0; //ustawiamy licznik słów na zero
  11.  
  12.  
  13. /*
  14. poniżej lecimy w pętli i sprawdzamy każdy z wyrazów w tablicy. Używamy tam funkcji strlen do sprawdzenia długości wyrazu.
  15. Sprawdzamy literę na ostaniej pozycji jesli ejst "a" to zwiększamy licznik.
  16. */
  17. foreach ($b as $item) {
  18. if($item[strlen($item)-1] == 'a') $quantity++;
  19. }
  20.  
  21. echo $quantity;
  22.  
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.