Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > [PHP] Вопрос по функции similar_text()


Автор: DEIN 22.2.2007, 14:18
Здраствуйте,
Продолжаю изучать PHP, соответственно продолжают возникать вопросы. Буду краток (: На обозрение Вам два кода:

Код

<?php

$_first = 'Telo';
$_second = 'Teloz';

$sovpad = similar_text ($_first, $_second, $proc);

if (strlen($_first)>strlen($_second))
  $vsego=strlen($_first);
else
  $vsego=strlen($_second);
 
echo "Совпадений в словах ($_first и $_second) $sovpad из $vsego , в процентах это $proc%";
echo "<BR><BR>";

?>

и
Код

<?php

$_first = 'Телоз';
$_second = 'Тело';

$sovpad = similar_text ($_first, $_second, $proc);

if (strlen($_first)>strlen($_second))
  $vsego=strlen($_first);
else
  $vsego=strlen($_second);
 
echo "Совпадений в словах ($_first и $_second) $sovpad из $vsego , в процентах это $proc%";
echo "<BR><BR>";

?>

Вопрос: Почему в первом случае результатом будет являться такой ответ:
Цитата
Совпадений в словах (Telo и Teloz) 4 из 5 , в процентах это 88.8888888889%

а во втором:
Цитата
Совпадений в словах (Телоз и Тело) 8 из 10 , в процентах это 88.8888888889%
?

Пока всё.
Спасибо за внимание.

П.с.: Возможно я сейчас нахожу пробелы в моих знаниях, которые должен был получить в прошлом (первые два года изучения информатики в школе я прогулял из-за нехорошего (: учителя), тем не менее помогите понять и решить проблемку.


 

Автор: Ak47black 23.2.2007, 14:12
У меня чето результаты одинаковые
Код

Совпадений в словах (Telo и Teloz) 4 из 5 , в процентах это 88.888888888889%

Совпадений в словах (Телоз и Тело) 4 из 5 , в процентах это 88.888888888889%

Ты какую версию юзаешь?

Добавлено @ 14:13 
Цитата

прогулял из-за нехорошего (: учителя),

В школе Php неучат   smile  .

Добавлено @ 14:19 
similar_text это готовая функция её можно вывести самому ,их необезательно все знать.
Подпобней тут http://lt.php.net/manual/ru/function.similar-text.php , там русская документация всех "прибамбасов".

Автор: ZlojEzh 24.2.2007, 11:26
такая штука может получится из-за того, что файл сохранен в UTF8

Автор: Ak47black 24.2.2007, 12:10
ZlojEzh, если тут изза кодировки , то как проверять что-бы такого момента избежать?
Например у меня все нормально, а у DEIN одна русская буква кодируеться двумя байтами.
А вообше возможно что на какомто сервере будет например UTF-32  smile ?

Автор: DEIN 24.2.2007, 12:28
Да, у меня как раз UTF-8 стоит... Просто меня сам Dreamweaver попросил поставить такую кодировку, когда я пытался сохранить русский текст. Сейчас попробуем поэксперемнтировать. (:

Добавлено @ 12:41 
Поставил кодировку windows-1251 и все заработало! Всем большое спасибо! 

П.с.: Прошу прощения за неправильную формулировку темы! (:

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)