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); } }