PHP - 比较数组元素的相似性并创建新数组,其中最相似的对排名第一

发布于 2024-11-28 00:11:59 字数 208 浏览 2 评论 0原文

假设我有一系列这样的句子

  1. “伟大的白狐狸跳了”
  2. “我喜欢那样”
  3. “伟大的白母鸡吃”
  4. “今天是星期五”
  5. “哈哈哈,我跳得很厉害”

我想将每个句子与彼此使用php的similar_text函数,并用这些对创建一个新数组,这样我就得到一个以最相似对和相似率开始的新数组。

Say I have an array of sentences like this

  1. "great white fox jumped"
  2. "I like it like that"
  3. "great white hen eats"
  4. "Today is friday"
  5. "hahaha, I did a great jump"

I would like to compare each sentence to each other with php similar_text function, and create a new array with these pairs so that I get a new array starting with most similar pairs and the similarity ratio.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

被你宠の有点坏 2024-12-05 00:11:59

试试这个:

    <?php

$words = array( "great white fox jumped", "I like it like that", "great white hen eats", "Today is friday", "hahaha, I did a great 

jump");

$count = 0;
for ($i=0;$i<count($words)-1;$i++){

 for ($j = $i+1;$j<count($words);$j++){
 $arr[$count][0] = similar_text($words[$i], $words[$j]);
  $arr[$count][1] = $words[$i];
 $arr[$count][2] = $words[$j];
    $count++;
 }
}

rsort($arr);

var_dump($arr);
?>

Try this:

    <?php

$words = array( "great white fox jumped", "I like it like that", "great white hen eats", "Today is friday", "hahaha, I did a great 

jump");

$count = 0;
for ($i=0;$i<count($words)-1;$i++){

 for ($j = $i+1;$j<count($words);$j++){
 $arr[$count][0] = similar_text($words[$i], $words[$j]);
  $arr[$count][1] = $words[$i];
 $arr[$count][2] = $words[$j];
    $count++;
 }
}

rsort($arr);

var_dump($arr);
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文