Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Problem z wyszukiwaniem w ciągu znaków, Bardzo proszę o pomoc
mateusz97146
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.09.2014

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


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 (IMG:style_emoticons/default/smile.gif)

Ten post edytował mateusz97146 13.09.2014, 19:33:12
Go to the top of the page
+Quote Post
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


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..
Go to the top of the page
+Quote Post
Daimos
post
Post #3





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


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
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: 23.08.2025 - 12:32