2009-10-21 10 views
1

이 함수는 numtoalpha를 사용하여 9보다 큰 값의 알파벳 동등 물을 출력하는 방법은 무엇입니까? 결과 : A는 10, B는 11 등 ...PHP에서 숫자를 문자로 변환하는 방법은 무엇입니까?

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"; 
?> 

답변

8

당신은 base_convert를 사용해야합니다 :

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

감사합니다. 멋진 기능 덕분에 base_convert에 대해 알지 못했습니다. – Newb

0

이 시도 :

<?php 

    $number = $_REQUEST["number"]; 

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

?> 

이것은 각각의 문자에 대해 당신에게 아스키 코드를 제공 할 것입니다. 55로 그것을 줄이면 A에 대해 10, B에 대해 11을 얻게됩니다.

5

당신이 원하는 값에 대한 정확한 ASCII 코드를 생성하기 위해 본질적으로 몇 가지 수학을 할 것입니다.

그래서 : 기능 다음

if($num>9 && $num<=35) { 
echo(chr(55+$num)) 
} 
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; 
} 
관련 문제