Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: porównywanie tekstow
Forum PHP.pl > Forum > Przedszkole
kamiseq
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
nospor
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
kamiseq
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!!!
nospor
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
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.