For循环中的PHP字母值

时间:2014-11-12 16:06:49

标签: php string variables

我的PHP代码出现问题,我正在尝试显示带有值的字符串。例如,A = 1B = 2。因此,如果我的字符串值为Cat,则会显示3120的值,并且还会将所有值添加到一起。

非常感谢,

乔纳森

3 个答案:

答案 0 :(得分:1)

您可以使用ord()获取ASCII值并减去96。例如:

$str = 'cat';
$val = strtolower($str);
for($i = 0; $i < strlen($str); $i++){
    echo ord($val[$i]) - 96;
}

strtolower()转换小写后者。

答案 1 :(得分:0)

创建关联数组。键应该是字母,值应该存储值。 获取字母,并获取值,并将它们连接成一个新字符串:

$string = 'Cab';
$lettersArray = array(
    'a' => 1,
    'b' => 2,
    'c' => 3,
    //and so on
);
$valueString = '';
for ($i=0; $i < strlen($string); $i++) {
    $letter = strtolower(substr($string,$i,1));
    $valueString .= $lettersArray[$letter];
}
echo $valueString;

输出是:

312

答案 2 :(得分:0)

在数组中组织字母和值

$letters = array(
'a' => 1
, 'b' => 2
, ...
);

循环字符串

$string = "cat";

$sum = 0;

for($i = 0; i<strlen($string);$i++) {
   $index = $string[$i];
   $sum += $letters[$index];
   print $letters[$index];

}

最后,打印总和

print $sum;