Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] porównywanie stringów
Demoneos
post
Post #1





Grupa: Zarejestrowani
Postów: 149
Pomógł: 0
Dołączył: 26.02.2008

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


Do porównania dwóch stingów używam funkcji strcmp:
Kod
$plik = file("dane.txt");
  
  for($x=0; $x<count($plik); $x++)
  {
      if( strcmp($plik[$x] , '        <td class="test">Test1</td>') == 0)
       {
             echo "rowne";
       }
  }

Zwraca ona 0 gdy stringi są równe. Zmienna $plik NA PEWNO zawiera jedną linijkę ' <td class="test">Test1</td>', a więc powinno się RAZ na ekranie wyświetlić "rowne". Tymczasem ani razu się nie wyświetla. Co robię źle?

Ten post edytował Demoneos 11.07.2008, 15:47:12


--------------------
Go to the top of the page
+Quote Post
Krakier
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 4
Dołączył: 10.07.2008

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


Hm ale dowaliłeś tych spacji w skrypcie ^^
Spróbuj tak:

Kod
$plik = file("dane.txt");
  
  for($x=0; $x<count($plik); $x++)
  {
      if( strcmp($plik[$x] , '<td class="test">Test1</td>') == 0)
       {
             echo "rowne";
       }
  }
Go to the top of the page
+Quote Post
kaem
post
Post #3





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Hmmm a na pewno w pliku jest dokładnie taka linijka?
Może znak końca linii coś psuje dry.gif Użyj funkcji trim na $plik[$x] przed ifem, żeby pousuwał zbędne znaki z wiersza (spacje, taby, znak końca linii itp itd).

Ten post edytował kaem 11.07.2008, 16:38:11
Go to the top of the page
+Quote Post
piotrooo89
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




mnie ten twój kod chodzi... wszystko sprawdziłem i nie wiem co może być nie tak. może masz złą nazwę pliku do sprawdzenia. ja proponuje Ci skopiować sobie to co porównujesz do pliczku i zobaczyć. w każdym bądź razie kod jest sprawny.

aha tak sobie przypomniałem może nie masz praw do tego pliku?


--------------------
Go to the top of the page
+Quote Post
kaem
post
Post #5





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


A sprawdziłeś na kilku wierszach? ;> U mnie jak jest znak końca linii to nie działa. Jak cofnę kursor na koniec wiersza to jest ok. Dlatego jednak trzeba użyć tej funkcji trim.
  1. <?php
  2. $plik[$x]=trim($plik[$x]);
  3. if( strcmp($plik[$x] , 'Test1') == 0)
  4.  {
  5. ?>


Ten post edytował kaem 11.07.2008, 16:56:23
Go to the top of the page
+Quote Post
piotrooo89
post
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




aż tak się nie zagłębiałem... sprawdziłem tylko to co podał Demoneos. ale dobrze gadasz... trzeba również użyć trim'a.


--------------------
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 Aktualny czas: 20.08.2025 - 04:52