我有数字字符串并转换为字母。
$arr = str_split('12345');
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
现在我要转换1 = A,2 = B,...
答案 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");
?>