是否可以用整数表示字符?

时间:2012-08-14 20:35:42

标签: php mysql

$rowgp="select name,m3,dpsd,phc,jtk from 2sem3 where rno='$rno'";
$resultrow=mysql_query($rowgp);

while($row=mysql_fetch_array($resultrow)){
   echo  $row['m3'] ." ". $row['oops'];
   $one = $row['m3'];
   $two = $row['oops']
}

在上面的代码中,变量$one包含a到d的字符(这些是字段m3中存在的字符)。如果char为'a',则应将其设为1;如果'b'则为2(c = 3,d = 4,依此类推)。如果不使用if或switch语句,我怎么能这样做?

3 个答案:

答案 0 :(得分:6)

$chars = range('a', 'z');
$nums = array_flip($chars);
echo $nums[$one] + 1;

答案 1 :(得分:3)

可以使用ord()

echo (ord($row['m3']) - ord('a') + 1);

答案 2 :(得分:1)

$lookup = array('a'=>1, 'b'=>2, 'c'=>3, 'd'=>4);

$rowgp="select name,m3,dpsd,phc,jtk from 2sem3 where rno='$rno'";
$resultrow=mysql_query($rowgp);
while($row=mysql_fetch_array($resultrow)){
echo  $row['m3'] ." ". $row['oops'];
$one = $lookup[$row['m3']];
$two = $row['oops']
}