我的PHP代码出现问题,我正在尝试显示带有值的字符串。例如,A = 1
,B = 2
。因此,如果我的字符串值为Cat
,则会显示3120
的值,并且还会将所有值添加到一起。
非常感谢,
乔纳森
答案 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;