Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> porównywanie tekstow, zgodnie z php.net powinno dzialac a nie
kamiseq
post 17.08.2005, 17:33:46
Post #1





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 12.07.2005
Skąd: krakow

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


na php.net w manualu pisza ze do porownywania 2 stringow powinno wystarczyc zwykle === ale nie dziala,
strcmp tez nie dziala
  1. <?php
  2.  
  3. if( strcmp($str, "napis") == 0){ print("takie same")}
  4.  
  5. ?>

nie dziala substr_compare;

jak zrobie
  1. <?php
  2.  
  3. if( ($pos = strpos($napis, $klucz)) !== false)
  4.  
  5. ?>
to tez nie znajdzie ale chyba dlatego ze strpos moze znalesc tylko mniejszy tekst w wiekszym

jedyne co dziala u mnie to
  1. <?php
  2.  
  3. similar_text("Name and dimensions", $linia, $similarity_pst);
  4. if (number_format($similarity_pst, 0) > 90)
  5.  
  6. ?>

ale znowu z tego co tam wyczytalem to jest dosc dlugi sposob porownywania, no i nie zabardzo wiem czy moge zrobic == 100

wiec nie wiem w czym jest problem

help:) guitar.gif

Ten post edytował kamiseq 17.08.2005, 18:22:25
Go to the top of the page
+Quote Post
nospor
post 17.08.2005, 17:37:50
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




posluchaj, jesli robisz
if ('ala' == 'ala').. zwróci ci true.
Ty powiedz lepiej co z czym porównujesz (podaj konkretne dane), a my ci powiemy co robisz źle

i zmien tego byka w temacie bo wali po oczach (poru...)

pozatym przenoszę na php początkujący


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kamiseq
post 17.08.2005, 18:22:05
Post #3





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 12.07.2005
Skąd: krakow

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


jakos mnie to wali;P

no nie koniecznie jak zrobisz "ala" == "ala" to jest ok ale wystarczy ze bedzie "1ala"=="1lod" i bedzie true:-) wiec powinno sie uzyc ===

a porownoje cos takiego
  1. <?php
  2. if( $linia !=="")
  3. ?>

lub
  1. <?php
  2. $pozycja = strpos($_SERVER['HTTP_ACCEPT_LANGUAGE'],$kod)
  3. ?>

gdzie $kod to "pl", "en", "de", "fr"
(tak btw jest gdzies wykaz wszystkich skrotow jezykow?)
lub
"Name and dimensions" z innymi wyrazami

co za roznica tekst to tekst!!!

Ten post edytował kamiseq 17.08.2005, 18:25:45
Go to the top of the page
+Quote Post
nospor
post 17.08.2005, 18:28:35
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
co za roznica tekst to tekst!!!
duża rożnica skoro u ciebie "1ala"=="1lod" to true. co ty za bzdury wygadujesz. Takie porównanie daje false. Aż sprawdziłem tongue.gif
  1. <?php
  2.  
  3. if ("1ala"=="1lod")
  4.    echo "ok";
  5. else
  6.   echo "notok";//to sie wyswietli
  7. ?>


skolei takie porównanie
  1. <?php
  2.  
  3. if ("1ala"==1)
  4.    echo "ok";//to sie wyswietli
  5. else
  6.   echo "notok";
  7.  
  8. ?>
da true, bo porównujesz stringa do liczby wartościowo i strina zamienia na liczbe. Jakbyś porównal przez typ jeszcze (===) to by dalo false

wiec wazne jest co sie porównuje. A wieć dalej nie wiem co zawiera $linia. Może tu jest twoj błąd, ze sam nie wiesz co tam jest, myslisz ze jest cos innego i spodziewasz sie innego rezultatu


edit:
okazało się że w teksćie były \n oraz znaki puste i dlatego źle porównywało. Znaczy porównywało dobrze, tylko kolega myslał że jest puste i oczekiwał innego wyniku
biggrin.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 8.07.2025 - 22:15