我有以下测试代码:
<?php
$letter = 'A';
$letter++;
$letter++;
echo $letter.'<br>'; // C
$letter++;
$letter++;
$letter++;
echo $letter.'<br>'; // F
// how to add plus 3 letters
// so that
// $letter + 3 => I
如此处所示,使用$letter++
或$letter--
,我可以向上或向下移动角色。有没有办法可以做$letter + 3
这样的事情,所以它会增加3个字母。
我知道我可以用循环创建一个函数,它将通过char添加一个char,最后我会得到结果。但是有更好的方法吗?
答案 0 :(得分:9)
可能有更好的解决方案,但我能想到的最快的方法是:
// get ASCII code of first letter
$ascii = ord('A');
// echo letter for +3
echo chr($ascii + 3);
请记住,您将在Z
之后获得其他符号答案 1 :(得分:2)
试试这个......
$letter = ord('A')+3;
echo chr($letter);
答案 2 :(得分:1)
也许这会起作用:
$x = 'G';
$y = range('A','Z');
echo $y[array_search($x,$y)+3];
答案 3 :(得分:0)
旧线程,但万一有人搜索。创建字母数组,需要在电子表格中填写。
$alphabet = array('A','B','C','D','E','F','G','H','I','J','K','L','M',..........'AY','AZ');
//add 36 to the letter A
$val = (array_search('A',$alphabet)) + 36;
echo $alphabet[$val]."<BR>";
答案 4 :(得分:0)
我不喜欢这些答案中的任何一个,因为它们不会复制PHP的功能。下面可能是复制它的最简单方法。
function addLetters($letter,$lettersToAdd){
for ($i=0;$i<$lettersToAdd;$i++){
$letter++;
}
return $letter;
}
echo addLetters('G',4);
echo "\n";
echo addLetters('Z',4);
给出 ķ AD