Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Szukanie w ciągu znaków
Forum PHP.pl > Forum > Przedszkole
mateusz97146
Potrzebuję pomysłu a mianowicie nie wiem jak napisać szukanie w zmiennej: już mówię o co chodzi
mamy zmienną
$a = "#41#21#441";
chciałbym aby wyszukał w nim liczbę 41 może być nawet z #41
i ją wyświetlił czy znalazł czy nie z gry dziękuje za pomoc
golabow
Znajduje wszystkie pozycje gdzie zaczyna się szukany ciąg:

  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. ?>
mateusz97146
dziękuje smile.gif
by_ikar
Tylko po co tutaj pętla, skoro nie wiadomo jak długi jest ciąg? Powiedzmy że ciąg ma 1000 znaków, to wtedy to rozwiązanie będzie kilkanaście razy wolniejsze od wyrażenia regularnego.. Nie lepiej po prostu strstr?

  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. }
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.