将十进制数字转换为二十六进制字母串


<?php
/**
* 将十进制数字转换为二十六进制字母串
*/
function num2alpha($intNum, $isLower=true)
{
$num26 = base_convert($intNum, 10, 26);
$addcode = $isLower ? 49 : 17;
$result = '';
for ($i=0; $i<strlen($num26); $i++) {
$code = ord($num26{$i});
if ($code < 58) {
$result .= chr($code+$addcode);
} else {
$result .= chr($code+$addcode-39);
}
}
return $result;
}


/**
* 将二十六进制字母串转换为十进制数字
*/
function alpha2num($strAlpha)
{
if (ord($strAlpha{0}) > 90) {
$startCode = 97;
$reduceCode = 10;
} else {
$startCode = 65;
$reduceCode = -22;
}
$num26 = '';
for ($i=0; $i<strlen($strAlpha); $i++) {
$code = ord($strAlpha{$i});
if ($code < $startCode+10) {
$num26 .= $code-$startCode;
} else {
$num26 .= chr($code-$reduceCode);
}
}
return (int)base_convert($num26, 26, 10);
}



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告