分组一组相似的单词

Luk*_*uke 2 php

我有一个包含大量单词的数组.例如:

array( developer,develop,development,design,designer,designing )
Run Code Online (Sandbox Code Playgroud)

我希望能够将这些单词与他们相似的单词组合在一起,这样我就会得到这样的结论:

array(
   array( develop, developer, development ),
   array( design, designer, designing ),
);
Run Code Online (Sandbox Code Playgroud)

在PHP中执行此操作的最佳方法是什么?

Car*_*los 5

您可以使用metaphone()以下方法轻松完成:

$result = array();
foreach ($array as $word) {
    $result[metaphone($word, 2)][] = $word;
}
Run Code Online (Sandbox Code Playgroud)

print_r($result); 将会呈现:

Array
(
    [TF] => Array
        (
            [0] => developer
            [1] => develop
            [2] => development
        )

    [TS] => Array
        (
            [0] => design
            [1] => designer
            [2] => designing
        )
)
Run Code Online (Sandbox Code Playgroud)