3

我将数字存储1 2 3 4在 MySQL 数据库中作为多项选择题的答案,

但我想a b c d在网页上显示它们。

我正在使用 PHP,如何使用 PHP 将数字转换为字母?

echo "
<h2>question</h2>
<p>".$row[0]."</p>
<h2>answer</h2>
<p>".$row[1]."</p>"; 

现在row[1]{1,2,3,4},我希望它变成{A,B,C,D}.

任何人都可以看看并告诉我该怎么做吗?

4

4 回答 4

37

这很容易:

<?php
$row = array(1, 2, 3, 4);

echo "
<h2>question</h2>
<p>".chr(64 + $row[0])."</p>
<h2>answer</h2>
<p>".chr(64 + $row[1])."</p>";

测试它:http: //3v4l.org/uojsK

于 2013-08-12T11:22:18.563 回答
12

你可以先定义一个数组:

$letters = array_combine(range(1,26), range('a', 'z'));
//now just use:
echo $letters[$row[1]]; 
于 2013-08-12T11:23:47.833 回答
2

创建字母数组并使用数字按索引(num-1)获取正确的字母

$letters = range('a','z');
$num = 3;
var_dump($letters[$num-1]);//"c"

IE

$letters = range('a','z');
echo "
<h2>question</h2>
<p>".$letters[$row[0]-1]."</p>
<h2>answer</h2>
<p>".$letters[$row[1]-1]."</p>";
于 2013-08-12T11:23:21.440 回答
1
<?php
///  the $row is the array you can get from db
$row = array(1,2,3,4,5);
// Here you can add your option up-to z
$alpha = range('A','E');
$i = 0;
///  Instead of foreach loop you can run while loop
foreach($row as $rows){
echo $alpha[($row[$i]-1)].'<br/>'; 
$i++;
}
?>
于 2013-08-12T11:36:25.233 回答