【问题标题】:How to count related word from a list of word separated with comma如何从用逗号分隔的单词列表中计算相关单词
【发布时间】:2020-08-28 08:10:34
【问题描述】:

您好,我正在尝试从用逗号分隔的单词列表中计算相关单词的数量。简而言之,我尝试使用标签,我想得到第一个单词并计算相似的单词。例如:

$words = 'php, codes, php, script, php, chat.';

在上面的例子中,PHP这个词出现了三次,以任何可能的方式来捕捉它们以输出:

  • php - 3
  • 代码 - 1
  • 脚本 - 1

虽然我能够从我的数据库中循环出单词并将它们中的每一个作为链接分开,但我也想将它们用作标签引用来计算找到的每个标签单词。

【问题讨论】:

  • 你有什么尝试过的吗?
  • “意思是当我能够从我的数据库中循环出单词并将它们中的每一个作为链接分开”你的意思是它们像这样存储在数据库中吗?
  • 是的,数据库中有逗号分隔的存储
  • 这是一个设计不佳的数据库。您正在失去使用索引的好处。想想DB normalization
  • explode & array_count_values 可以轻松带您到那里。 (嗯,差不多,你可能想先输入一个trim 来去掉那个尾随点。)

标签: php arrays tags


【解决方案1】:

这是一种适用于 PHP 7.2+ 的方法:

<?php

$words = rtrim('php, codes, php, script, php, chat.',".");
$exploded = explode(", ",$words);
$arrCount = array_count_values($exploded);
var_dump($arrCount);

直播代码:https://3v4l.org/BNXjf

代码会修剪掉字符串中的句点。然后它使用由逗号和空格字符组成的 2 字符字符串将字符串分解为数组 $exploded。然后代码 defly 使用 PHP 7 函数 array_count_values 在这种情况下创建一个新数组 $arrCount 并且这个数组的键是 $exploded 的值,它的值是每个值在 $exploded 中出现的次数,作为 var_dump() $arrCount 显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 2021-12-09
    • 1970-01-01
    • 2018-05-02
    • 2022-12-22
    相关资源
    最近更新 更多