这个函数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";
?>
答案 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;
}