gpt4 book ai didi

php - 从最高到最低相似度的回显字符串

转载 作者:行者123 更新时间:2023-12-04 05:07:36 24 4
gpt4 key购买 nike

很难解释,但我需要一些帮助。
所以我有,说 4 个字符串$query = 'google awesome'; ,$result1 = 'google is cool'; ,$result1 = 'google is awesome'; ,和$result3 = 'other page'; .

假设我使用 PHP 的 similar_text(); , 和 $result1 60% 相似,$result2 70% 相似且 $result3有 5% 的相似度。

我如何按照从高到低的顺序回显它们。请注意,我使用的字符串超过 3 个,我只是使用 foreach(); 回显结果.

编辑:这是我的一段代码。

if(isset($_GET['q'])) {
$results = file(__DIR__ . '/data/urls.txt');
$query = $_GET['q'];
foreach($results as $result) {
$explode = explode('::', $result);
$site = $explode[0];
$title = $explode[1];
/* if $query = similar to $title, echo ordered by similarity. */
}
}

最佳答案

例如,您可以使用结果和文本构建一个数组,然后对数组进行排序并打印。

 if(isset($_GET['q'])) {
$results = explode("\n",file_get_contents(__DIR__ . '/data/urls.txt')); // i assume all url is in a new line
$query = $_GET['q'];
$similarity = array();
$map = array();
foreach($results as $result) {
list($site,$title) = explode('::', $result);
$similarity[$site] = similar_text($title,$query); //calculate similari by title for sites 0 is similar bigger is not realy similar
$map[$site] = $title;
}
asort($similarity,SORT_NUMERIC); //sort the results

$limit = 10;
foreach($similarity as $site=>$sim){
print "<a href='{$site}'>{$map[$site]}</a>({$sim} % differnece what you need)<br/>";
if( --$limit < 1) break;
}
}

应该阅读的链接:

http://www.php.net/manual/en/function.arsort.php

http://www.php.net/manual/en/function.each.php

http://www.php.net/manual/en/function.list.php

关于php - 从最高到最低相似度的回显字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15325390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com