【问题标题】:How can I get an average我怎样才能得到一个平均值
【发布时间】:2021-05-25 09:40:04
【问题描述】:

我对此并不陌生。我有一个练习,说明给定的字符串,我需要得到一个句子的平均单词量。到目前为止,我已经这样做了:

    $sentenceArray = preg_split('/[.]+/', $string, -1, PREG_SPLIT_NO_EMPTY);
    foreach ($sentenceArray as $sentence) {
        $numberOfWords = str_word_count($sentence);

结果,这给了我 5 个句子中的单词数:16、14、16、18、17)。 我的问题是我不知道如何获得该结果的平均值。 到目前为止,我这样做了,我只得到 00000:

        $results[]= $numberOfWords;
        $count = count($numberOfWords);
        $sum = array_sum($numberOfWords);
     $average = $sum/ $count;
     echo $average;

【问题讨论】:

  • 第二个代码是在foreach循环里面还是外面?
  • $numberOfWords 是字数 - count($numberOfWords) 需要一个数组(array_sum 也是如此)。
  • 旁注:您确定文本中的每个句子都会以句号结尾吗?
  • $average = array_sum($results) / count($results) 呢?
  • 使 $numberOfWords += str_word_count($sentence); (并在循环之前用 0 正确初始化变量),那么你已经总结了单词的总数。之后除以count($sentence)

标签: php average


【解决方案1】:

你需要这样做:

$sentenceArray = preg_split('/[.]+/', $string, -1, PREG_SPLIT_NO_EMPTY);

$totalCount = 0; //create a variable of total words count
foreach ($sentenceArray as $sentence) {
    $totalCount += str_word_count($sentence);//add count to variable
}
echo $avg = $totalCount/count($sentenceArray);//get the average

示例输出:https://3v4l.org/8BYDF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 2015-12-15
    • 2015-06-08
    • 1970-01-01
    相关资源
    最近更新 更多