Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] wyszukanie podobnych ciągów
Randallmaster
post 7.09.2015, 20:07:09
Post #1





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


  1. $array = array(
  2. '1.2', //true
  3. '1.2.3', //true
  4. '1.2.3.4', //true
  5. '2.1', //false
  6. '2.3' //false
  7. );


W takiej tablicy chciałbym wyszukać czy znajduje się wyraz podobny do '1.2.3.4.5.6.7', patrząc od lewej strony, by nie można było środka sprawdzać.
wartości zwracane zaznaczyłem w tablicy. W jaki sposób mogę uzyskać takie coś ?

Ten post edytował Randallmaster 7.09.2015, 20:15:27
Go to the top of the page
+Quote Post
trueblue
post 7.09.2015, 20:18:04
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


  1. $array = array(
  2. '1.2', //true
  3. '1.2.3', //true
  4. '1.2.3.4', //true
  5. '2.1' //false
  6. );
  7. print_r(array_filter($array,"podobne"));
  8.  
  9. function podobne($item){
  10. return substr('1.2.3.4.5.6.7',0,strlen($item))===$item;
  11. }


--------------------
Go to the top of the page
+Quote Post
thek
post 7.09.2015, 21:14:50
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




stripos się kłania smile.gif
  1. function alike($item, $full){
  2. return stripos($full, $item) === 0 ? true : false;
  3. }

EDIT: stripos zwraca false gdy ciągu szukanego brak albo pokazuje miejsce jego rozpoczęcia. Nas interesuje gdy znajdzie ciąg i pokazuje jego początek na indeksie 0... stąd tylko taki wariant zwróci true.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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.04.2024 - 19:41