如何在PHP中将整数转换为字符

时间:2013-04-24 13:16:06

标签: php

有人可以帮我创建一个函数,用于将整数转换为PHP中的字符,如下所示:

'A' => 0,
'B' => 1,
'C' => 2,
'D' => 3,
'E' => 4,
'F' => 5,
'G' => 6,
'H' => 7,
'I' => 8,
'J' => 9

如果number为100,那么它应该生成BAA。

A,B,C ......只是一个例子。我试图用代码加密数字。

我需要这个来处理像

这样的词
0 => zero
1 => one

但是当我给出数字10时,它应该输出onezero

提前致谢

7 个答案:

答案 0 :(得分:7)

像这样简单尝试

    $letter = chr($i+65);
    echo $letter;

给出'A'

答案 1 :(得分:1)

这可能对您有用:

$numarr=array('A' => 0, 'B' => 1, 'C' => 2);
$narr = array_flip($numarr);

$num = 100;
$arr = str_split($num);

$str = '';
foreach($arr as $s)
   $str .= $narr[$s];
echo $str . "\n"; //BAA

现场演示:http://ideone.com/3XqoZ7

答案 2 :(得分:1)

<?php
$list=array('A' => 0,
'B' => 1,
'C' => 2,
'D' => 3,
'E' => 4,
'F' => 5,
'G' => 6,
'H' => 7,
'I' => 8,
'J' => 9);
 $num=1234; //your value
 $temp='';
 $arr_num=str_split ($num);
foreach($arr_num as $data)
{
$temp.=array_search($data,$list);
}
$num=$temp;
echo $num; // here we get BCDE
?>

答案 3 :(得分:1)

<?php
$number = 100;
$len = strlen($number);
for($i=0;$i<$len;$i++) {
    echo printAlphabet(substr($number,$i,1));
}
function printAlphabet($pos) {
    $letter = chr($pos+65);
    return $letter;
}
?>

答案 4 :(得分:0)

如果我理解你想要做什么,有一个函数可以返回字母表中字母的位置,你可以这样做:

<?php
    function chartonumber($char) {
        return ord(strtolower($char)) - 96;
    }
    echo chartonumber('A')."\n";
    echo chartonumber('b')."\n";
    echo chartonumber('E')."\n";
?>

这将打印:

1
2
5

分别是字母A,b和E的位置。

工作原理: - 确保将字母小写。 - 它将其转换为ascii int。 - 减去之前的96个ascii表字符。

玩得开心:)

答案 5 :(得分:0)

我创建了一个抽象函数:

    private function getCoordinates($row, $col){
            $letter = $this->getLetter($col);
            return $letter.$row;
    }

    private function getLetter($col){
            // 64+1 = 65 ==>> "A"
            $letter = '';
            if ($col<=26){
                    $letter = chr(64+$col);
            } else {
                    $newCol = intdiv($col, 26);
                    $resCol = ($col % 26);
                    $letter = $this->getLetter($newCol).chr(64+$resCol);
            }
            return $letter;
    }

TEST:
la letra para fila:7 y columna:1 es : A7
la letra para fila:7 y columna:26 es : Z7
la letra para fila:7 y columna:27 es : AA7
la letra para fila:7 y columna:23455756 es : AYHMVL7

答案 6 :(得分:-2)

<?php
$stack = array("A", "B");
array_push($stack, "C", "D", "E", "F", "G", "H","I","J");
print_r($stack);
?>