Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przeszukanie zmiennej i porównaie jej z tablicą
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Mam pewien problem. Chciałbym przeszukać zmienną która w rzeczywistości jest ciągiem znaków i porównać ten ciąg ze słowami które znajdują się w tablicy, a pod koniec podliczyć ile razy każde słowo znajdujące się w tablicy wystąpiło. Chodzi o to żeby suma jakiejkolwiek mieszanki słów znajdujących się w tablicy gdy jest mniejsza/równa 5 skrypt wykonał jedno zadanie, a gdy jest większa niż 5 skrypt wykonał drugie zadanie.
Mam coś takiego, ale nie wiem jakich funkcji użyć żeby to przerobić. (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
  1. <?php
  2. $text = 'Jakiś długi, ale to długi tekst';
  3. echo substr_count($text, 'długi');
  4. ?>


Ten post edytował Szunaj85 11.07.2009, 20:27:14
Go to the top of the page
+Quote Post
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




W manualu php.net masz jak wół napisane, że f-cja substr_count zwraca Ci liczbę dopasowań.

Czyli:

  1. <?php
  2. $text = 'Jakiś długi, ale to długi tekst';
  3. $ile = substr_count($text, 'długi');
  4. if ($ile <= 5) {
  5.   //zrób to
  6. } else {
  7.  //zrob tamto
  8. }
  9. ?>
Go to the top of the page
+Quote Post
Szunaj85
post
Post #3





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Cytat
W manualu php.net masz jak wół napisane, że f-cja substr_count zwraca Ci liczbę dopasowań.
A ja jak wół to wiem. Tylko, że ja nie chcę ciągu porównać z jednym wyrazem, ale z tablicą z wyrazami. Np.
  1. <?php
  2. array('1', '2', '3', '4', '5');
  3. ?>
I taraz nie wiem jak to zrobić żeby bez względu czy wynikiem będzie:
1,3,5 czy 1,2,3 czy 1,1,1 wykonywał się jeden warunek, a jeśli:
2,2,2,2,2,2 czy 2,2,2,3,4,5 czy 2,2,4,4,5,5 ale suma tych znalezionych ciągów przekroczy 5
wykonywał się drugi warunek. Zrozumiałeś o co mi chodzi blooregard? (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) (W przykładzie podałem cyfry, ale chodzi mi raczej o słowa typu 'raz', 'dwa', 'trzy', ...). (IMG:http://forum.php.pl/style_emoticons/default/happy.gif)
Edit:
Z porównaniem ciągu z tablicą już sobie jakoś poradziłem. Ładnie wyświetla wyniki koło siebie.
  1. <?php
  2. $text = 'Jakiś długi, ale to długi tekst';
  3. $tablica = array('Jakiś', 'długi', 'w_tekście_brak_tego_słowa');
  4. foreach ($tablica as $tablica)
  5. echo substr_count($text, $tablica)
  6. ?>
Ale nadal nie wiem jak je zsumować żeby później sprawdzić za pomocą warunku. (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) Kombinuje, ale coś nie wychodzi. Jeśli macie jakieś uwagi co do tego rozwiązania napiszcie, ale tak jak wspomniałem teraz głównie chodzi mi o to jak zsumować te wartości.


Ten post edytował Szunaj85 12.07.2009, 16:19:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.10.2025 - 15:07