Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z wyszukiwaniem w ciągu znaków
Forum PHP.pl > Forum > Przedszkole
mateusz97146
http://forum.php.pl/index.php?showtopic=234941 link do rozmowy wczoraj i teamtu
jesli biorę któryś skrypt z tych
  1. <?php
  2.  
  3. $a = "#41#21#4#41";
  4. $szukane = '#41';
  5.  
  6. $k = 0;
  7. while ( ($p = strpos( $a, $szukane, $k )) !== false )
  8. {
  9. echo 'znalezione na pozycij: '.$p.'<br>';
  10. $k = $p + 1;
  11. }
  12.  
  13. if ( !$k ) echo 'nic nie znaleziono';
  14.  
  15. ?>

lub
  1. <?php
  2.  
  3. $haystack = "#41#21#4#41";
  4. $needle = '41';
  5.  
  6. if(false !== strstr($haystack, $needle))
  7. {
  8. //znaleziono
  9. } else
  10. {
  11. //nie znaleziono
  12. }
  13. ?>

nie działa tak jak chciałbym a mianowicie liczbe 41 wyszukuje ale jak z liczb tak jak tutaj $=42#441#34#56
wyszukuje 41 ale w liczbie 441 jak mogę przerobić któryś z tych skryptów ,żeby tylk oszukało tylko 41
z góry dziękuje i przepraszam za ponowny kłopot smile.gif
by_ikar
W poprzednim temacie mogłeś się zapytać.. Jeżeli liczby są oddzielone płotkiem # to naturalnie dodaj do swojej szukanej płotek:

  1. <?php
  2.  
  3. $haystack = "#41#21#4#441";
  4. $needle = '#41';
  5.  
  6. if(false !== strstr($haystack, $needle))
  7. {
  8. //znaleziono
  9. } else
  10. {
  11. //nie znaleziono
  12. }


Ewentualnie jeżeli ten płotek pojawia się na końcu, to wstawiasz go na koniec, zamiast na początku:

  1. <?php
  2.  
  3. $haystack = "#41#21#4#41";
  4. $needle = '41#';
  5.  
  6. if(false !== strstr($haystack, $needle))
  7. {
  8. //znaleziono
  9. } else
  10. {
  11. //nie znaleziono
  12. }


Trochę więcej własnego wkładu i testowania.. Jądro naszej planety nie eksploduje, jeżeli zaczniesz próbować coś sam..
Daimos
Lub skorzystaj z wyrażeń regularnych, coś w stylu [^0-9]?([0-9]+)[^0-9]? powinno załatwić sprawę, czyli:
[opcjonalnie coś co nie jest cyfrą][cyfry][opcjonalnie coś co nie jest cyfrą] i jeśli coś znajdzie to porównujesz za pomocą np. in_array
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.