2012-06-21 1 views
0

Попытка получить список всех подстрок в настоящее время у меня есть функция, но она не полностью завершена. Im с использованием минимального знака из 4. Что было бы хорошим подспорьем в дополнение к этому:получить все возможные подстроки из строки в php самое быстрое решение?

Мне также нужно найти слова типа «предсказать», как это можно сделать лучше всего и быстрее?

Выход

Word:  predictions 
Substring: predictions 
Substring: redictions 
Substring: edictions 
Substring: dictions 
Substring: ictions 
Substring: ctions 
Substring: tions 
Substring: ions 
+1

Должны ли они быть настоящими словами? Кроме того, передача '100' в' substr() 'в этом случае не требуется. [RTFM] (http://php.net/substr) –

+0

@Jason Нет им не нужны фактические слова справа от 100, это должна быть длина строки самого длинного слова, которое подается на функцию. – Rubytastic

+0

Возможный дубликат [Как найти все подстроки строки в PHP] (http://stackoverflow.com/questions/2099732/how-to-find-all-substrings-of-a-string-in-php) –

ответ

1

Ниже будет создавать подстроки подрезки справа и слева от слов до длины 4 в том же цикле. Это была спецификация, которую я понял.

$length = strlen($word) - 4; 
for ($i = 1; $i <= $length; ++$i) { 
    echo "left = ", substr($word, $i), PHP_EOL; 
    echo "right = ", substr($word, 0, -$i), PHP_EOL; 
} 

Успенская: По словами вы имеете в виду подстроки.

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

+0

Thnks, который полностью сделал это, умный способ сделать это, хотя я не знаю, могу ли я полностью получить for ($ i = 1; $ i <= $ length; ++ $ i) {строка – Rubytastic

+0

См. Обновление и пусть я знаю, если у вас все еще есть вопрос о цикле 'for'. –

Смежные вопросы