我怎么能从数据库到数组获得所有类似的单词?

时间:2017-11-21 16:47:50

标签: php mysql performance mysqli pdo

我的数据库中有简单的表格:

enter image description here

我从我的表中使用了我的函数类似的单词:

#define DFC __attribute__((section(".dflash_code")))

样本用法:

function similar_words($array, $conn){
    $result = array();
    foreach ($array as $value) {
        $query = $conn->prepare('SELECT * FROM words WHERE word LIKE ?');
        $query->execute(array("%$value%"));
        while ($results = $query->fetch())
        {
            if(!in_array($results['word'], $result)) $result[] = $results['word'];
        }
    } 
    return $result;
}

在输出中采用此结果:

similar_words(['app','sql'], $pdo);

但是,如果我使用错误的单词添加到我的数组单词以查询数据库,它就不能为我带来所需的结果:

Array
(
    [0] => app
    [2] => apple
    [3] => appstore
    [7] => postgresql
    [8] => sql
    [9] => mysqli
)

来自similar_words(['myql','sl','eson','ptor'], $pdo); 的{​​{1}}数据集,来自"myql"的{​​{1}},"mysqli""sl""sql"来自"mysqli"来自"postgresql"的1}}和"eson"。如何使用这些单词在数据库中输入具有相似词的结果数组:

"lesson"

我确实创建了这个函数和数据库,例如在我的真实数据库中,在UTF-8中有更多的单词100000。并且可以优化我的功能?谢谢你的回答!

0 个答案:

没有答案