我有一个包含一堆字符串的数组,我想找到所有可能的组合,无论它如何排序与给定的字符串/单词匹配。
$dictionary = ['flow', 'stack', 'stackover', 'over', 'code'];
input: stackoverflow
output:
#1 -> ['stack', 'over', 'flow']
#2 -> ['stackover', 'flow']
我尝试过的是,我需要排除不包含在输入字符串中的数组元素,然后尝试将每个合并的元素与它匹配,但我不确定并被卡住了。谁能帮我想办法解决这个问题?提前谢谢你,这是我到目前为止的代码
<?php
$dict = ['flow', 'stack', 'stackover', 'over', 'code'];
$word = 'stackoverflow';
$dictHas = [];
foreach ($dict as $w) {
if (strpos($word, $w) !== false) {
$dictHas[] = $w;
}
}
$result = [];
foreach ($dictHas as $el) {
foreach ($dictHas as $wo) {
$merge = $el . $wo;
if ($merge == $word) {
} elseif ((strpos($word, $merge) !== false) {
}
}
}
print_r($result);
MYYA