如何计算字符串中“字母数字”的总和?

时间:2012-01-13 10:56:38

标签: php counter

是否有内置的PHP函数可以通过它来计算字符串中字母表的字母索引的总和?

<?php
$a = "testword";
echo "Count of Characters is: " . strlen($a); 
?>

现在我想得到这个词的累计“总数”。

e.g。

  • A是字母表的第一个字母,因此会映射到1
  • B是字母表的第二个字母,因此会映射到2
  • C是字母表中的第三个字母,因此会映射到3
  • D是字母表的第四个字母,因此会映射到4

所以单词ABCD给出1 + 2 + 3 + 4 = 10

同样,我需要一个“testword”或任何单词的功能。

3 个答案:

答案 0 :(得分:9)

function WordSum($word)
{
    $cnt = 0;
    $word = strtoupper(trim($word));
    $len = strlen($word);

    for($i = 0; $i < $len; $i++)
    {
        $cnt += ord($word[$i]) - 64; 
    }

    return $cnt;
}

var_dump(WordSum("testword"));

答案 1 :(得分:0)

只是为了展示一个完全不同的方法,因为它非常乐于展示PHP的一些数组函数:

$data = "testword";

$testResult = array_values(array_merge(array_fill_keys(range('A','Z'),
                                                       0
                                                      ),
                                       array_count_values(str_split(strtoupper($data)
                                                                   )
                                                         )
                                      )
                          );
$wordCount = 0;
foreach($testResult as $letterValue => $letterCount) {
    $wordCount += ++$letterValue * $letterCount;
}

var_dump($wordCount);

答案 2 :(得分:-3)

$a = "test";
$b = "word";
echo (strlen($a) + strlen($b));