在php中减少字母值

时间:2013-11-26 02:59:02

标签: php

基于答案Decrementing alphabetical values

如果我有这样的角色怎么样$ char ='AF',我怎么能把它变成$ char ='AE'等等?

更新

这是我的完整解决方案:

function decrementChar($par){
    if(strlen($par)>=2){
        $str= substr($par,0,-1); 
        $strdec= substr($par,-1);           
        $strdec=$strdec=='A'?'':chr(ord($strdec) - 1 );
        return $str.$strdec;
    }
    return chr(ord($par) - 1 );

}

1 个答案:

答案 0 :(得分:1)

如果您的字符串是十六进制值,则可以使用以下代码:

$char = 'AF';
$value = hexdec($char);
$value--;
$char = dechex($value);

如果你的字符串只是一个字符串:

$len = strlen($char);
$char[$len - 1] = chr(ord($char[$len - 1]) - 1);