![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czesc, mam nastepujacy problem: musze znalezc fragment stringa w stringu. Wszystko jest ok bo do tego moge uzyc metody strpos, ale zauwazylam ze nie zawsze mi dziala. Przyjrzalam sie blizej i o to co wyszlo:
Moja metoda wyglada mniej wiecej nastepujaco:
w niektorych przypadkach jednak string($strToSearch) sie nie wynajduje (mimo tego ze istnieje). Wyswietlilam sobie $text i przypisalam go do nowej zmiennej:
i teraz string wynajduje sie za kazdym razem (czyli $index != false). O co jednak chodzi? dlaczego jak przepisalam wartosc zmiennej $text to $newText to dla $newText mi dziala zawsze? Wypisalam sobie $text i $newText- sa te same. ich dlugosci-te same. sprawdzilam typ poprzez getype - oba string. Nie mam zielonego pojecia o co chodzi?? Czy ktos z Was moze ma? pzdr, misty Ten post edytował misty 9.11.2011, 12:28:09 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat @Crozin - przeczytales calego mojego posta? nie chodzi o to ze zwraca mi false. niech sobie bedzie false, jesli fraza nie zostala znaleziona. nie to jest problemem. To chyba ty nie uważnie przeczytałeś.No ale pokolei 1) Piszesz (czyli $index != false) Nie wiem czy wiesz, ale 0 == false jest true, false == false jest true, ale już 0 === false jest false a false === false jest true. 2) $newText = "to jest moj tekst z $text"; Cytat Wypisalam sobie $text i $newText - są takie same Guzik prawda. Jak mogą być takie same, skoro newTekst generujesz z dwóch ciągów: "to jest mój tekst z " oraz z $text? Nie, onie nie są takie same. Z racji, że $text dopisujesz dalej, to strpos nigdy z $newTekst nie da ci 0, zaś z samego tekst może dać ci 0 i jeśli robisz $index != false to możesz mieć problem. Masz robić $index !== false |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 02:27 |