Получить все возможные подстроки из строки в php самое быстрое решение?
Пытаясь получить список всех подстрок в настоящее время у меня есть функция, но она не полностью завершена. Я использую минимальный символ 4. Что было бы хорошим подходом, чтобы дополнить это:
Мне также нужно найти слова типа "предсказать", как это можно сделать лучше и быстрее?
Выход
Word: predictions
Substring: predictions
Substring: redictions
Substring: edictions
Substring: dictions
Substring: ictions
Substring: ctions
Substring: tions
Substring: ions
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
петля (статический предел и счетчик предварительного приращения).