For循环中的PHP字母值
我的PHP代码有问题,我试图显示一个带有值的字符串。例如,For循环中的PHP字母值,php,string,variables,Php,String,Variables,我的PHP代码有问题,我试图显示一个带有值的字符串。例如,A=1,B=2。因此,如果我有一个字符串值Cat,它将显示一个值3120,并将所有值相加 非常感谢, Jonathan创建关联数组。键应该是字母,值应该存储值。 获取字母,获取值,并将其转换为新字符串: $string = 'Cab'; $lettersArray = array( 'a' => 1, 'b' => 2, 'c' => 3, //and so on ); $valueStr
A=1
,B=2
。因此,如果我有一个字符串值Cat
,它将显示一个值3120
,并将所有值相加
非常感谢,
Jonathan创建关联数组。键应该是字母,值应该存储值。 获取字母,获取值,并将其转换为新字符串:
$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;
在数组中组织字母和值
$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];
}
您可以使用ord()
获取ASCII
值并减去96
。例如:
$str = 'cat';
$val = strtolower($str);
for($i = 0; $i < strlen($str); $i++){
echo ord($val[$i]) - 96;
}
$str='cat';
$val=strtolower($str);
对于($i=0;$i
strtolower()
转换小写。显示($i=0;$iprint $sum;
$str = 'cat';
$val = strtolower($str);
for($i = 0; $i < strlen($str); $i++){
echo ord($val[$i]) - 96;
}