Как преобразовать число в букву в PHP? - PullRequest
1 голос
/ 21 октября 2009

Как эта функция numtoalpha распечатывает буквенные эквиваленты значений, которые будут больше 9 используемых? Результаты, что-то вроде этого: 10 для A, 11 для B и т.д ....

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 ]

8 голосов
/ 21 октября 2009

вам нужно использовать base_convert:

$number = $_REQUEST["number"];   # '10'
base_convert($number, 10, 36);   # 'a'
5 голосов
/ 21 октября 2009

Вы, по сути, собираетесь сделать некоторую математику, чтобы сгенерировать правильный код ASCII для нужного значения.

Итак:

if($num>9 && $num<=35) {
 echo(chr(55+$num))
}
0 голосов
/ 02 февраля 2016

Используйте следующую функцию.

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;
}
0 голосов
/ 21 октября 2009

Попробуйте это:

<?php

  $number = $_REQUEST["number"];

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

?>

Это даст вам код ASCII для соответствующего символа. Уменьшите его на 55, и вы получите 10 для A, 11 для B и т. Д ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...