将数字转换为字母

时间:2015-04-14 07:41:59

标签: php

我有数字字符串并转换为字母。

$arr = str_split('12345');
Array
 (
  [0] => 1
  [1] => 2
  [2] => 3
  [3] => 4
  [4] => 5
 )

现在我要转换1 = A,2 = B,...

3 个答案:

答案 0 :(得分:2)

我现在能想到的最简单的解决方案:

$arr = str_split('12345');
$arr2 = str_split('abcdefghijklmnopqrstuvwxyz');

foreach($arr as &$digit)
    $digit = $arr2[$digit-1];

请注意$digit使用&符号通过引用传递给循环。这意味着当您操作$digit时,$arr中的相应数组条目也将更改。

答案 1 :(得分:0)

使用base_convert,我做了这个:

$arr = str_split('12345');

foreach($arr as $something){
    if($something==1){
        $value=$something*10;
    }else{
        $value++;
    }
    echo base_convert($value, 10, 36);
}

可能不是最佳解决方案,但它是一种解决方案。我会解释我在这里做了什么。

在文档中说:

  

数字的基数高于10的数字将用字母a-z表示,含义为10,b表示11,z表示35

所以我确定1 = 10,2 = 11,3 = 12,4 = 13,5 = 14等...

结果: ABCDE

答案 2 :(得分:0)

尝试从他们的ASCII代码中获取它们:

<?php
$arr = str_split('12345');
$str = chr($arr[0]+64);
echo ("str=".$str."\n");
?>