$my_alphabet = "T";
上述字符“T”应打印字母表的确切位置/编号。即20
所以,如果
$my_alphabet = "A" ;
我怎样才能做到这一点。
我看到将数字转换为字母...但反过来并不存在。
谢谢, Kimz
答案 0 :(得分:20)
使用ascii值:
ord(strtoupper($letterOfAlphabet)) - ord('A') + 1
在ASCII中,字母按字母顺序排序,所以......
答案 1 :(得分:4)
如果字母不是大写字母,您可以添加此行代码以确保您获得正确的字母位置
$my_alphabet = strtoupper($my_alphabet);
因此,如果您获得'T'
或't'
,它将始终返回正确的位置。
否则@bwoebi的答案将完美地完成工作
答案 2 :(得分:3)
你应该小心(大写,小写):
<?php
$upperArr = range('A', 'Z') ;
$LowerArr = range('a', 'z') ;
$myLetter = 't';
if(ctype_upper($myLetter)){
echo (array_search($myLetter, $upperArr) + 1);
}else{
echo (array_search($myLetter, $LowerArr) + 1);
}
?>