下面是一个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); } }