Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Usuwanie elementów tablicy
Forum PHP.pl > Forum > Przedszkole
-amon-
Witam,

Mam tablicę zawierającą kilkadziesiąt tysięcy słów. Każdy element tablicy to oddzielny wyraz.
Jak wywalić z tej tablicy wszystkie elementy:
1) Zawierające polskie znaki: ąęśćżźół
2) Krótsze niż 4 znaki
3) Dłuższe niż 7 znaków

Domyślam, się, że trzeba użyć wyrażeń regularnych w pętli ale niestety nie mam tego opanowanego - wyrażeń regularnych.
A może można to załatwić bez pętli, np. jakąś funkcją do działania na tablicach?

Pomożecie?

Dzięki.
Piogola
array_filter + odpowiednio napisana funkcja
tehaha
a co to za problem zrobić pętlę na tablicy? bez przesady to o co prosisz to 5linijek kodu, funkcją strlen sprawdzisz długość, a preg_match te polskie znaki, ja bym zrobił to na zasadzie przepisania do drugiej tablicy
1. robisz pętlę
2. jeżeli wartość jest dłuższa od 4 i krótsza od 7 oraz spełnia wykluczenie tych znaków '/([^ąęśćżźół])/' to przepisujesz do drugiej tablicy

w ten sposób będzie chyba najprościej
-amon-
Cytat(tehaha @ 19.02.2011, 15:52:58 ) *
spełnia wykluczenie tych znaków '/([^ąęśćżźół])/'
No właśnie ale jak to wykonać?

Dzięki za podpowiedzi co do długości, z tym sobie już chyba poradzę. Ale z tymi polskimi znakami to nie bardzo sad.gif
-amon-
Czy to ma być tak?
  1. if(!preg_match('/([^ąęśćżźół])/'){
  2. /kopiowanie do drugiej tablicy
  3. }
tehaha
to co Ci podałem to sam wzorzec do funkcji preg_match, prawie dobrze tylko do preg_match musisz podać jeszcze 1 parametr http://pl2.php.net/preg_match tam masz przykłady a w tego ifa co zrobiłeś możesz wstawić jeszcze 2 warunki z strlen, wtedy będziesz miał wszystko co chcesz
-amon-
Dzięki wielkie tehaha.
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.