Я полностью новичок с PHP. Сегодня у меня просто проблема, что я не могу понять, как ее решить, даже после поиска google и копания SOF. Это алгоритм Анаграммы.Anagram Algorithm in PHP
Так что я понимаю проблему здесь: когда пользователь вводит строку, я разбиваю ее и сравниваю с моей библиотекой (данный массив), тогда мне придется присоединиться к ней с помощью символов 2-3 -... и т. Д. чтобы сравнить снова, это именно то, где я застрял сейчас, я не знаю, как присоединиться к элементам массива.
Вот код, который я реализую, а также образец словаря.
У меня есть самостоятельный словарь с этими элементами в массиве $ dict. И у меня есть форма для ввода пользователем строки, введенная строка будет передана в код ниже и объявлена как $ anagram. Мне нужно разделить строку, введенную для сравнения с моим словарем. Но я не знаю, как присоединиться к ним, сравнивая 2 буквы, 3 буквы ... и т. Д. И т. Д., В словаре.
<?php
$dict = array(
'abde',
'des',
'klajsd',
'ksj',
'hat',
'good',
'book',
'puzzle',
'local',
'php',
'e');
$anagram = $_POST['anagram'];
//change to lowercase
$anagram = strtolower($anagram);
//split the string
$test = str_split($anagram);
//compare with $dict for the first split without joining
for ($i=0; $i<strlen($anagram); $i++) {
if ($test[$i]==$dict[$i]) {
echo $test[$i]."<br />";
}
}
//problem: how to join elements of the array in the loops
//like user inputs "hellodes"
//after echo "e", how to join the elements like: h-e,h-l,h-l,h-o,h-d,h-e,h-s
//and then h-e-l,h-e-l,h-e-o...etc...
?>
Я надеюсь получить алгоритм как можно более простым, потому что я полностью новичок. И мне жаль, потому что мой английский не так хорош. С уважением, Khiem Nguyen.
найдены две ссылки: http://sourceforge.net/projects/phpag/ и http://www.phpclasses.org/browse/file/12539 .html – Gerep
Спасибо Gerep, я прочитал их, но это похоже на бесполезность, потому что это слишком сложно, что я не могу понять. Я ожидаю, что будет иметь более простой алгоритм, просто присоединяясь к элементам строки, используя петли и сравнивая их с библиотекой. – khiemnn
было бы не лучше сортировать символы анаграммы в алфавитном порядке и в цикле делать то же самое для каждого словаря. если анаграмма является подстрокой словарного слова, то ее анаграмма – gunnx