【发布时间】:2015-07-18 01:42:58
【问题描述】:
所以,我正在尝试获取一组单词的所有可能组合的列表。
输入文本 "1, 2" 和值为 ("1" => "a", "b", "c") 和 ("2" => "d", "e"),我会得到类似的东西:
a, d
b, d
c, d
a, e
b, e
c, e
使用我现在拥有的代码,我只得到:
a, d
b, d
c, d
我该如何解决这个问题?
代码:
foreach ($words as $word)
{
for ($i = 0; $i < count($array); $i++) //For every value
{
$key = array_keys($array[$i])[0];
if ($word === $key)
{
$syn = explode("|", $array[$i][$key]); //Get all synonyms
foreach ($syn as $s) //For each synonym within
{
$potential[] = implode(" ", str_replace($key, $s, $words));
}
}
}
}
该过程针对输入文本中的每个单词,我们想要遍历整个值数组。在那里,我们有其他数组(“原始”=>“同义词”)。从那里,我们遍历每个同义词并将其添加到潜在组合列表中。
【问题讨论】:
标签: php arrays combinations