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 11.07.2009, 18:56:00
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ć. 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


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
blooregard
post 11.07.2009, 19:16:58
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. ?>


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Szunaj85
post 11.07.2009, 20:09:46
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? dry.gif (W przykładzie podałem cyfry, ale chodzi mi raczej o słowa typu 'raz', 'dwa', 'trzy', ...). 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. 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


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
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: 18.07.2025 - 02:33