如何在PHP中将数字转换为字母?

时间:2009-10-21 14:16:20

标签: php

这个函数numtoalpha如何打印出大于9的字母等价物? 结果,如下所示:A为10,B为11,等等....

PHP.net甚至没有这个功能,或者我没有找到正确的位置,但我确信它说的是功能。

<?php
$number = $_REQUEST["number"];
/*Create a condition that is true here to get us started*/
if ($number <=9)
{
echo $number;
}
elseif ($number >9 && $number <=35) 
{
echo $number;
function numtoalpha($number)
{
echo $number;
}
echo"<br/>Print all the numbers from 10 to 35, with alphabetic equivalents:A for10,etc";
?>

4 个答案:

答案 0 :(得分:8)

您需要使用base_convert

$number = $_REQUEST["number"];   # '10'
base_convert($number, 10, 36);   # 'a'

答案 1 :(得分:5)

你实际上要做一些数学运算来为你想要的值生成正确的ascii代码。

所以:

if($num>9 && $num<=35) {
 echo(chr(55+$num))
}

答案 2 :(得分:0)

试试这个:

<?php

  $number = $_REQUEST["number"];

  for ($i=0;$i<length($number);$i++) {
    echo ord($number[$i]);
  }

?>

这将为您提供相应角色的ascii代码。将它减少55,你得到10为A,11为B等......

答案 3 :(得分:0)

使用以下功能。

function patient_char($str)
{
$alpha = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X ', 'Y', 'Z');
$newName = '';
do {
    $str--;
    $limit = floor($str / 26);
    $reminder = $str % 26;
    $newName = $alpha[$reminder].$newName;
    $str=$limit;
} while ($str >0);
return $newName;
}