26进制(字母)转十进制算法

下面是一个26进制转十进制的算法,目的是将字母(A~Z)转化为十进制的数字。主要用途是为了解决使用phpExcel解析Excel表格的时候,在Excel表格中列是由字母表示的,而很多情况下我们需要了解到当前的列是哪一行,也就是列的行数。所以才有了此算法。

 

function litterToNumber($lineTag)
{
    $transfArray =  array('A'=>1,'B'=>2,'C'=>3, 'D'=>4, 'E'=>5,    'F'=>6, 'G'=>7, 'H'=>8, 'I'=>9, 'G'=>10, 'K'=>11, 'L'=>12,'
M'=>13, 'N'=>14, 'O'=>15, 'P'=>16, 'Q'=>17, 'R'=>18, 'S'=>19, 'T'=>20, 'U'=>21,'V'=>22,'W'=>23,'X'=>24,'Y'=>25,'Z'=>26);
    
    $len = strlen($lineTag);
    for($i = $len-1; $i >= 0; $i --)
    {
        $value += $transfArray[$temp[$i]]*pow(26,$len-1-$i); 
    }
}

 

posted @ 2014-09-27 22:54  马七风  阅读(2757)  评论(0编辑  收藏  举报